diff options
Diffstat (limited to '')
-rw-r--r-- | src/others/mimesh/CMakeLists.txt | 151 |
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 | |||
3 | include(00-Common) | ||
4 | include(LLCommon) | ||
5 | include(LLImage) | ||
6 | include(LLInventory) | ||
7 | include(LLMath) | ||
8 | include(LLMessage) | ||
9 | include(LLPrimitive) | ||
10 | include(LLRender) | ||
11 | include(LLWindow) | ||
12 | include(LLXML) | ||
13 | include(mimesh) | ||
14 | include(Linking) | ||
15 | include(UI) | ||
16 | |||
17 | find_package(Libgsf REQUIRED) | ||
18 | find_package(Libmagic REQUIRED) | ||
19 | |||
20 | include_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 | |||
39 | macro(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 | |||
77 | endmacro(add_mimesh_library) | ||
78 | |||
79 | |||
80 | set(g3d_link_LIBRARIES | ||
81 | ${LIBGSF_LIBRARIES} | ||
82 | ${LIBMAGIC_LIBRARIES} | ||
83 | ) | ||
84 | add_mimesh_library(g3d STATIC libg3d-0.0.8/src) | ||
85 | add_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 | ||
93 | add_mimesh_library(g3d_plugin_3dm SHARED libg3d-0.0.8/plugins/import/imp_3dm) | ||
94 | add_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) | ||
96 | add_mimesh_library(g3d_plugin_ac3d SHARED libg3d-0.0.8/plugins/import/imp_ac3d) | ||
97 | add_mimesh_library(g3d_plugin_acf SHARED libg3d-0.0.8/plugins/import/imp_acf) | ||
98 | add_mimesh_library(g3d_plugin_ar SHARED libg3d-0.0.8/plugins/import/imp_ar) | ||
99 | add_mimesh_library(g3d_plugin_ase SHARED libg3d-0.0.8/plugins/import/imp_ase) | ||
100 | add_mimesh_library(g3d_plugin_blend SHARED libg3d-0.0.8/plugins/import/imp_blend) | ||
101 | add_mimesh_library(g3d_plugin_c4d SHARED libg3d-0.0.8/plugins/import/imp_c4d) | ||
102 | add_mimesh_library(g3d_plugin_cob SHARED libg3d-0.0.8/plugins/import/imp_cob) | ||
103 | add_mimesh_library(g3d_plugin_dae SHARED libg3d-0.0.8/plugins/import/imp_dae) | ||
104 | add_mimesh_library(g3d_plugin_dpm SHARED libg3d-0.0.8/plugins/import/imp_dpm) | ||
105 | add_mimesh_library(g3d_plugin_dxf SHARED libg3d-0.0.8/plugins/import/imp_dxf) | ||
106 | add_mimesh_library(g3d_plugin_flt SHARED libg3d-0.0.8/plugins/import/imp_flt) | ||
107 | add_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) | ||
109 | add_mimesh_library(g3d_plugin_iob SHARED libg3d-0.0.8/plugins/import/imp_iob) | ||
110 | add_mimesh_library(g3d_plugin_joe SHARED libg3d-0.0.8/plugins/import/imp_joe) | ||
111 | add_mimesh_library(g3d_plugin_kmz SHARED libg3d-0.0.8/plugins/import/imp_kmz) | ||
112 | add_mimesh_library(g3d_plugin_ldraw SHARED libg3d-0.0.8/plugins/import/imp_ldraw) | ||
113 | add_mimesh_library(g3d_plugin_leocad SHARED libg3d-0.0.8/plugins/import/imp_leocad) | ||
114 | add_mimesh_library(g3d_plugin_lwo SHARED libg3d-0.0.8/plugins/import/imp_lwo) | ||
115 | add_mimesh_library(g3d_plugin_max SHARED libg3d-0.0.8/plugins/import/imp_max) | ||
116 | add_mimesh_library(g3d_plugin_maya SHARED libg3d-0.0.8/plugins/import/imp_maya) | ||
117 | add_mimesh_library(g3d_plugin_md2 SHARED libg3d-0.0.8/plugins/import/imp_md2) | ||
118 | add_mimesh_library(g3d_plugin_md3 SHARED libg3d-0.0.8/plugins/import/imp_md3) | ||
119 | add_mimesh_library(g3d_plugin_nff SHARED libg3d-0.0.8/plugins/import/imp_nff) | ||
120 | add_mimesh_library(g3d_plugin_obj SHARED libg3d-0.0.8/plugins/import/imp_obj) | ||
121 | add_mimesh_library(g3d_plugin_osm SHARED libg3d-0.0.8/plugins/import/imp_osm) | ||
122 | add_mimesh_library(g3d_plugin_q3o SHARED libg3d-0.0.8/plugins/import/imp_q3o) | ||
123 | add_mimesh_library(g3d_plugin_r4 SHARED libg3d-0.0.8/plugins/import/imp_r4) | ||
124 | add_mimesh_library(g3d_plugin_rbh SHARED libg3d-0.0.8/plugins/import/imp_rbh) | ||
125 | add_mimesh_library(g3d_plugin_skp SHARED libg3d-0.0.8/plugins/import/imp_skp) | ||
126 | add_mimesh_library(g3d_plugin_stl SHARED libg3d-0.0.8/plugins/import/imp_stl) | ||
127 | add_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) | ||
130 | add_mimesh_library(g3d_plugin_vrml2 SHARED libg3d-0.0.8/plugins/import/imp_vrml2) | ||
131 | |||
132 | |||
133 | set(g3d_plugin_gdkpixbuf_link_LIBRARIES | ||
134 | ${LIBGTK_LIBRARIES} | ||
135 | ${LIBCAIRO_LIBRARIES} | ||
136 | ${LIBPANGO_LIBRARIES} | ||
137 | ) | ||
138 | add_mimesh_library(g3d_plugin_gdkpixbuf SHARED libg3d-0.0.8/plugins/image img_gdkpixbuf.c) | ||
139 | |||
140 | set(g3d_plugin_jpeg_link_LIBRARIES | ||
141 | ${JPEG_LIBRARIES} | ||
142 | ) | ||
143 | add_mimesh_library(g3d_plugin_jpeg SHARED libg3d-0.0.8/plugins/image img_jpeg.c) | ||
144 | |||
145 | add_mimesh_library(g3d_plugin_bmp SHARED libg3d-0.0.8/plugins/image img_bmp.c) | ||
146 | add_mimesh_library(g3d_plugin_dds SHARED libg3d-0.0.8/plugins/image img_dds.c) | ||
147 | add_mimesh_library(g3d_plugin_sgi SHARED libg3d-0.0.8/plugins/image img_sgi.c) | ||
148 | |||
149 | install(FILES libg3d-0.0.8/libg3d.magic DESTINATION lib/libg3d) | ||
150 | |||
151 | |||