@@ -68,16 +68,18 @@ endif()
6868add_compile_options ("$<$<C_COMPILER_ID:MSVC>:/utf-8>" )
6969add_compile_options ("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>" )
7070
71- ## ユニットテスト
72- add_subdirectory ("test" )
73-
74- # dependencies
75- ## Xerces-C をビルドします。
76- ### libcitygmlのFindXercesを通すために全てキャッシュ化
77- set (BUILD_SHARED_LIBS false CACHE BOOL "" FORCE)
78- add_subdirectory ("3rdparty/xerces-c" )
79- set (XERCESC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/xerces-c/src" "${libplateau_BINARY_DIR} /3rdparty/xerces-c/src" CACHE STRING "" FORCE)
80- set (XERCESC_LIBRARY xerces-c CACHE STRING "" FORCE)
71+ if (NOT CMAKE_SYSTEM_NAME STREQUAL "iOS" )
72+ ## ユニットテスト
73+ add_subdirectory ("test" )
74+
75+ # dependencies
76+ ## Xerces-C をビルドします。
77+ ### libcitygmlのFindXercesを通すために全てキャッシュ化
78+ set (BUILD_SHARED_LIBS false CACHE BOOL "" FORCE)
79+ add_subdirectory ("3rdparty/xerces-c" )
80+ set (XERCESC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/xerces-c/src" "${libplateau_BINARY_DIR} /3rdparty/xerces-c/src" CACHE STRING "" FORCE)
81+ set (XERCESC_LIBRARY xerces-c CACHE STRING "" FORCE)
82+ endif ()
8183
8284## libcitygml をビルドします。
8385### TODO: GDAL Support
@@ -93,78 +95,80 @@ set(LIBCITYGML_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/libcitygml/sources/
9395add_subdirectory ("3rdparty/glTF-SDK" )
9496set (GLTFSDK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/glTF-SDK/glTF-SDK/GLTFSDK/Inc" )
9597
96- # FBX SDK 以下のディレクトリで debug と release のどちらを利用するか決めます。
97- # debug なら debug/*-md.lib を使い、release なら release/*-mt.lib を使います。
98- if (${CMAKE_BUILD_TYPE} STREQUAL "Debug" )
99- set (FBXSDK_LAST_DIR_NAME "debug" )
100- set (FBXSDK_MT_OR_MD "md" )
101- else ()
102- set (FBXSDK_LAST_DIR_NAME "release" )
103- set (FBXSDK_MT_OR_MD "mt" )
104- endif ()
105-
106- ## zlib(FBX SDKの依存関係)
107- include_directories ("${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/zlib" )
108- add_subdirectory ("3rdparty/zlib" )
109- set (ZLIB_INCLUDE_DIR "${CMAKE_BINARY_DIR} /3rdparty/zlib" )
110-
111- if (UNIX )
112- set (ZLIB_LIBRARY "${CMAKE_BINARY_DIR} /3rdparty/zlib/libz.a" CACHE STRING "" FORCE)
113- elseif (WIN32 )
114- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
115- set (ZLIB_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/lib/win64/${FBXSDK_LAST_DIR_NAME} /zlib-${FBXSDK_MT_OR_MD} .lib" CACHE STRING "" FORCE)
116- elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
117- set (ZLIB_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/lib/win32/${FBXSDK_LAST_DIR_NAME} /zlib-${FBXSDK_MT_OR_MD} .lib" CACHE STRING "" FORCE)
98+ if (NOT CMAKE_SYSTEM_NAME STREQUAL "iOS" )
99+ # FBX SDK 以下のディレクトリで debug と release のどちらを利用するか決めます。
100+ # debug なら debug/*-md.lib を使い、release なら release/*-mt.lib を使います。
101+ if (${CMAKE_BUILD_TYPE} STREQUAL "Debug" )
102+ set (FBXSDK_LAST_DIR_NAME "debug" )
103+ set (FBXSDK_MT_OR_MD "md" )
104+ else ()
105+ set (FBXSDK_LAST_DIR_NAME "release" )
106+ set (FBXSDK_MT_OR_MD "mt" )
118107 endif ()
119- endif (UNIX )
120-
121- ## libxml2(FBX SDKの依存関係)
122- if (UNIX )
123- # FBX SDKのLinux, macOS向けライブラリではiconvが必要
124- set (LIBXML2_WITH_ICONV ON CACHE BOOL "" FORCE)
125- elseif (WIN32 )
126- set (LIBXML2_WITH_ICONV OFF CACHE BOOL "" FORCE)
127- endif ()
128- set (LIBXML2_WITH_LZMA OFF CACHE BOOL "" FORCE)
129- set (LIBXML2_WITH_PYTHON OFF CACHE BOOL "" FORCE)
130- set (LIBXML2_WITH_TESTS OFF CACHE BOOL "" FORCE)
131-
132- add_subdirectory ("3rdparty/libxml2" )
133108
134- ## FBX SDK
135- set (FBXSDK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/include" )
109+ ## zlib(FBX SDKの依存関係)
110+ include_directories ("${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/zlib" )
111+ add_subdirectory ("3rdparty/zlib" )
112+ set (ZLIB_INCLUDE_DIR "${CMAKE_BINARY_DIR} /3rdparty/zlib" )
136113
137- if (UNIX )
138- if (APPLE )
139- set (FBXSDK_LIB_PATH_SUFFIXES mac)
140- else ()
114+ if (UNIX )
115+ set (ZLIB_LIBRARY "${CMAKE_BINARY_DIR} /3rdparty/zlib/libz.a" CACHE STRING "" FORCE)
116+ elseif (WIN32 )
141117 if (CMAKE_SIZEOF_VOID_P EQUAL 8)
142- set (FBXSDK_LIB_PATH_SUFFIXES linux64 )
118+ set (ZLIB_LIBRARY " ${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/lib/win64/ ${FBXSDK_LAST_DIR_NAME} /zlib- ${FBXSDK_MT_OR_MD} .lib" CACHE STRING "" FORCE )
143119 elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
144- set (FBXSDK_LIB_PATH_SUFFIXES linux32 )
120+ set (ZLIB_LIBRARY " ${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/lib/win32/ ${FBXSDK_LAST_DIR_NAME} /zlib- ${FBXSDK_MT_OR_MD} .lib" CACHE STRING "" FORCE )
145121 endif ()
122+ endif (UNIX )
123+
124+ ## libxml2(FBX SDKの依存関係)
125+ if (UNIX )
126+ # FBX SDKのLinux, macOS向けライブラリではiconvが必要
127+ set (LIBXML2_WITH_ICONV ON CACHE BOOL "" FORCE)
128+ elseif (WIN32 )
129+ set (LIBXML2_WITH_ICONV OFF CACHE BOOL "" FORCE)
146130 endif ()
147- elseif (WIN32 )
148- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
149- set (FBXSDK_LIB_PATH_SUFFIXES win64)
150- elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
151- set (FBXSDK_LIB_PATH_SUFFIXES win32 )
131+ set (LIBXML2_WITH_LZMA OFF CACHE BOOL "" FORCE)
132+ set (LIBXML2_WITH_PYTHON OFF CACHE BOOL "" FORCE)
133+ set (LIBXML2_WITH_TESTS OFF CACHE BOOL "" FORCE)
134+
135+ add_subdirectory ("3rdparty/libxml2" )
136+
137+ ## FBX SDK
138+ set (FBXSDK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/include" )
139+
140+ if (UNIX )
141+ if (APPLE )
142+ set (FBXSDK_LIB_PATH_SUFFIXES mac)
143+ else ()
144+ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
145+ set (FBXSDK_LIB_PATH_SUFFIXES linux64)
146+ elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
147+ set (FBXSDK_LIB_PATH_SUFFIXES linux32)
148+ endif ()
149+ endif ()
150+ elseif (WIN32 )
151+ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
152+ set (FBXSDK_LIB_PATH_SUFFIXES win64)
153+ elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
154+ set (FBXSDK_LIB_PATH_SUFFIXES win32 )
155+ endif ()
152156 endif ()
153- endif ()
154157
155- set (FBXSDK_LIB_PATH_SUFFIXES "${FBXSDK_LIB_PATH_SUFFIXES} /${FBXSDK_LAST_DIR_NAME} " )
156-
157- find_library (FBXSDK_LIBRARIES
158- NAMES
159- libfbxsdk-md libfbxsdk-mt libfbxsdk.a
160- PATHS
161- ${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/lib
162- PATH_SUFFIXES
163- ${FBXSDK_LIB_PATH_SUFFIXES}
164- NO_DEFAULT_PATH
165- NO_CMAKE_FIND_ROOT_PATH
166- )
167- message ("${FBXSDK_LIB_PATH_SUFFIXES} , ${FBXSDK_LIBRARIES} " )
158+ set (FBXSDK_LIB_PATH_SUFFIXES "${FBXSDK_LIB_PATH_SUFFIXES} /${FBXSDK_LAST_DIR_NAME} " )
159+
160+ find_library (FBXSDK_LIBRARIES
161+ NAMES
162+ libfbxsdk-md libfbxsdk-mt libfbxsdk.a
163+ PATHS
164+ ${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/FBX/2020.3.1/lib
165+ PATH_SUFFIXES
166+ ${FBXSDK_LIB_PATH_SUFFIXES}
167+ NO_DEFAULT_PATH
168+ NO_CMAKE_FIND_ROOT_PATH
169+ )
170+ message ("${FBXSDK_LIB_PATH_SUFFIXES} , ${FBXSDK_LIBRARIES} " )
171+ endif ()
168172
169173# cpp-httplib
170174add_subdirectory ("3rdparty/cpp-httplib" )
@@ -175,12 +179,15 @@ add_subdirectory("3rdparty/openssl-cmake")
175179
176180# libplateau をビルドします。
177181add_subdirectory ("src" )
178- ## Examples
179- add_subdirectory ("examples/log_skipped_elements" )
180- add_subdirectory ("examples/export_obj" )
181- add_subdirectory ("examples/export_gltf" )
182- add_subdirectory ("examples/export_fbx" )
183- add_subdirectory ("examples/https_mock_test" )
182+
183+ if (NOT CMAKE_SYSTEM_NAME STREQUAL "iOS" )
184+ ## Examples
185+ add_subdirectory ("examples/log_skipped_elements" )
186+ add_subdirectory ("examples/export_obj" )
187+ add_subdirectory ("examples/export_gltf" )
188+ add_subdirectory ("examples/export_fbx" )
189+ add_subdirectory ("examples/https_mock_test" )
190+ endif ()
184191
185192# python
186193option (BUILD_PYTHON "Build python wrapper" OFF )
@@ -190,3 +197,14 @@ endif(BUILD_PYTHON)
190197
191198# Copy data for testing
192199file (COPY data/ DESTINATION "${CMAKE_BINARY_DIR} /data" )
200+
201+ if (CMAKE_SYSTEM_NAME STREQUAL "iOS" )
202+ set_target_properties (ssl PROPERTIES
203+ XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO"
204+ XCODE_ATTRIBUTE_ENABLE_BITCODE "NO"
205+ )
206+ set_target_properties (crypto PROPERTIES
207+ XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO"
208+ XCODE_ATTRIBUTE_ENABLE_BITCODE "NO"
209+ )
210+ endif ()
0 commit comments