aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/CMakeLists.txt')
-rw-r--r--src/others/mimesh/CMakeLists.txt151
1 files changed, 151 insertions, 0 deletions
diff --git a/src/others/mimesh/CMakeLists.txt b/src/others/mimesh/CMakeLists.txt
new file mode 100644
index 0000000..657a041
--- /dev/null
+++ b/src/others/mimesh/CMakeLists.txt
@@ -0,0 +1,151 @@
1# -*- cmake -*-
2
3include(00-Common)
4include(LLCommon)
5include(LLImage)
6include(LLInventory)
7include(LLMath)
8include(LLMessage)
9include(LLPrimitive)
10include(LLRender)
11include(LLWindow)
12include(LLXML)
13include(mimesh)
14include(Linking)
15include(UI)
16
17find_package(Libgsf REQUIRED)
18find_package(Libmagic REQUIRED)
19
20include_directories(
21 ${LLCOMMON_INCLUDE_DIRS}
22 ${LIBS_PREBUILT_DIR}/include/jpeglib # Coz JPEG.cmake seems to want to grab the system headers instead. Though it works fine for llimage.
23 ${LLIMAGE_INCLUDE_DIRS}
24 ${LLINVENTORY_INCLUDE_DIRS}
25 ${LLMATH_INCLUDE_DIRS}
26 ${LLMESSAGE_INCLUDE_DIRS}
27 ${LLPRIMITIVE_INCLUDE_DIRS}
28 ${LLRENDER_INCLUDE_DIRS}
29 ${LLWINDOW_INCLUDE_DIRS}
30 ${LLXML_INCLUDE_DIRS}
31 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2
32 ${LIBGSF_INCLUDE_DIRS}
33 ${LIBMAGIC_INCLUDE_DIRS}
34 ${G3D_INCLUDE_DIRS}
35 ${CMAKE_SOURCE_DIR}/newview
36)
37
38
39macro(add_mimesh_library name type path)
40
41 project(${name})
42
43 # Note, will have to rebuild from scratch when adding or deleting a file.
44 if (${ARGC} EQUAL 3)
45 file(GLOB ${name}_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${path}/*.c ${path}/*.cpp)
46 file(GLOB ${name}_HEADER_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${path}/*.h)
47 else (${ARGC} EQUAL 3)
48 file(GLOB ${name}_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${path}/${ARGV3})
49 endif (${ARGC} EQUAL 3)
50
51 list(APPEND ${name}_SOURCE_FILES ${${name}_HEADER_FILES})
52 add_library(${name} ${type} ${${name}_SOURCE_FILES})
53
54 if (DARWIN)
55 # don't embed a full path in the library's install name
56 set_target_properties(
57 ${name}
58 PROPERTIES
59 BUILD_WITH_INSTALL_RPATH 1
60 INSTALL_NAME_DIR "@executable_path/../Resources"
61 )
62 endif (DARWIN)
63
64# set_target_properties(
65# ${name}
66# PROPERTIES
67# LINK_FLAGS "-export-dynamic -no-undefined"
68# )
69
70 target_link_libraries(${name} ${${name}_link_LIBRARIES})
71
72 install(TARGETS ${name}
73 ARCHIVE DESTINATION ${CMAKE_CURRENT_BINARY_DIR} # This is just be a dummy.
74 LIBRARY DESTINATION lib/libg3d
75 )
76
77endmacro(add_mimesh_library)
78
79
80set(g3d_link_LIBRARIES
81 ${LIBGSF_LIBRARIES}
82 ${LIBMAGIC_LIBRARIES}
83 )
84add_mimesh_library(g3d STATIC libg3d-0.0.8/src)
85add_mimesh_library(mimesh STATIC ".")
86
87# 3ds - Still using g3d_texture_load, which I removed.
88# heightfield - too buggy to use.
89# ldraw - needs a ldraw parts library installed.
90# leocad - needs a leocad parts library installed.
91# test - no point, it's for testing. lol
92# vrml - failed to load ./lib/libg3d/libg3d_plugin_vrml.so: ./lib/libg3d/libg3d_plugin_vrml.so: undefined symbol: yywrap
93add_mimesh_library(g3d_plugin_3dm SHARED libg3d-0.0.8/plugins/import/imp_3dm)
94add_mimesh_library(g3d_plugin_3dmf SHARED libg3d-0.0.8/plugins/import/imp_3dmf)
95#add_mimesh_library(g3d_plugin_3ds SHARED libg3d-0.0.8/plugins/import/imp_3ds)
96add_mimesh_library(g3d_plugin_ac3d SHARED libg3d-0.0.8/plugins/import/imp_ac3d)
97add_mimesh_library(g3d_plugin_acf SHARED libg3d-0.0.8/plugins/import/imp_acf)
98add_mimesh_library(g3d_plugin_ar SHARED libg3d-0.0.8/plugins/import/imp_ar)
99add_mimesh_library(g3d_plugin_ase SHARED libg3d-0.0.8/plugins/import/imp_ase)
100add_mimesh_library(g3d_plugin_blend SHARED libg3d-0.0.8/plugins/import/imp_blend)
101add_mimesh_library(g3d_plugin_c4d SHARED libg3d-0.0.8/plugins/import/imp_c4d)
102add_mimesh_library(g3d_plugin_cob SHARED libg3d-0.0.8/plugins/import/imp_cob)
103add_mimesh_library(g3d_plugin_dae SHARED libg3d-0.0.8/plugins/import/imp_dae)
104add_mimesh_library(g3d_plugin_dpm SHARED libg3d-0.0.8/plugins/import/imp_dpm)
105add_mimesh_library(g3d_plugin_dxf SHARED libg3d-0.0.8/plugins/import/imp_dxf)
106add_mimesh_library(g3d_plugin_flt SHARED libg3d-0.0.8/plugins/import/imp_flt)
107add_mimesh_library(g3d_plugin_glb SHARED libg3d-0.0.8/plugins/import/imp_glb)
108#add_mimesh_library(g3d_plugin_heightfield SHARED libg3d-0.0.8/plugins/import/imp_heightfield)
109add_mimesh_library(g3d_plugin_iob SHARED libg3d-0.0.8/plugins/import/imp_iob)
110add_mimesh_library(g3d_plugin_joe SHARED libg3d-0.0.8/plugins/import/imp_joe)
111add_mimesh_library(g3d_plugin_kmz SHARED libg3d-0.0.8/plugins/import/imp_kmz)
112add_mimesh_library(g3d_plugin_ldraw SHARED libg3d-0.0.8/plugins/import/imp_ldraw)
113add_mimesh_library(g3d_plugin_leocad SHARED libg3d-0.0.8/plugins/import/imp_leocad)
114add_mimesh_library(g3d_plugin_lwo SHARED libg3d-0.0.8/plugins/import/imp_lwo)
115add_mimesh_library(g3d_plugin_max SHARED libg3d-0.0.8/plugins/import/imp_max)
116add_mimesh_library(g3d_plugin_maya SHARED libg3d-0.0.8/plugins/import/imp_maya)
117add_mimesh_library(g3d_plugin_md2 SHARED libg3d-0.0.8/plugins/import/imp_md2)
118add_mimesh_library(g3d_plugin_md3 SHARED libg3d-0.0.8/plugins/import/imp_md3)
119add_mimesh_library(g3d_plugin_nff SHARED libg3d-0.0.8/plugins/import/imp_nff)
120add_mimesh_library(g3d_plugin_obj SHARED libg3d-0.0.8/plugins/import/imp_obj)
121add_mimesh_library(g3d_plugin_osm SHARED libg3d-0.0.8/plugins/import/imp_osm)
122add_mimesh_library(g3d_plugin_q3o SHARED libg3d-0.0.8/plugins/import/imp_q3o)
123add_mimesh_library(g3d_plugin_r4 SHARED libg3d-0.0.8/plugins/import/imp_r4)
124add_mimesh_library(g3d_plugin_rbh SHARED libg3d-0.0.8/plugins/import/imp_rbh)
125add_mimesh_library(g3d_plugin_skp SHARED libg3d-0.0.8/plugins/import/imp_skp)
126add_mimesh_library(g3d_plugin_stl SHARED libg3d-0.0.8/plugins/import/imp_stl)
127add_mimesh_library(g3d_plugin_ta SHARED libg3d-0.0.8/plugins/import/imp_ta)
128#add_mimesh_library(g3d_plugin_test SHARED libg3d-0.0.8/plugins/import/imp_test)
129#add_mimesh_library(g3d_plugin_vrml SHARED libg3d-0.0.8/plugins/import/imp_vrml)
130add_mimesh_library(g3d_plugin_vrml2 SHARED libg3d-0.0.8/plugins/import/imp_vrml2)
131
132
133set(g3d_plugin_gdkpixbuf_link_LIBRARIES
134 ${LIBGTK_LIBRARIES}
135 ${LIBCAIRO_LIBRARIES}
136 ${LIBPANGO_LIBRARIES}
137 )
138add_mimesh_library(g3d_plugin_gdkpixbuf SHARED libg3d-0.0.8/plugins/image img_gdkpixbuf.c)
139
140set(g3d_plugin_jpeg_link_LIBRARIES
141 ${JPEG_LIBRARIES}
142 )
143add_mimesh_library(g3d_plugin_jpeg SHARED libg3d-0.0.8/plugins/image img_jpeg.c)
144
145add_mimesh_library(g3d_plugin_bmp SHARED libg3d-0.0.8/plugins/image img_bmp.c)
146add_mimesh_library(g3d_plugin_dds SHARED libg3d-0.0.8/plugins/image img_dds.c)
147add_mimesh_library(g3d_plugin_sgi SHARED libg3d-0.0.8/plugins/image img_sgi.c)
148
149install(FILES libg3d-0.0.8/libg3d.magic DESTINATION lib/libg3d)
150
151