Browse Source

Build improvements for Xcode and QtCreator

Josh Engebretson 10 years ago
parent
commit
b6a98c6b5d

+ 1 - 1
CMakeLists.txt

@@ -1,7 +1,7 @@
 
 project (Atomic)
 
-cmake_minimum_required (VERSION 3.2.1)
+cmake_minimum_required (VERSION 3.0.2)
 
 set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules)
 

+ 0 - 24
Source/AtomicEditor/CMakeLists.txt

@@ -41,27 +41,3 @@ endif()
 if (TARGET_PROPERTIES)
     set_target_properties (AtomicEditor PROPERTIES ${TARGET_PROPERTIES})
 endif ()
-
-file (GLOB_RECURSE EDITORDATA_FILES ${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData/*)
-file (GLOB_RECURSE COREDATA_FILES ${CMAKE_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData/*)
-
-if (MSVC)
-    add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/EditorData.pak"
-                       COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${CMAKE_CURRENT_BINARY_DIR}/EditorData.pak" -c
-                       DEPENDS PackageTool ${EDITORDATA_FILES})
-
-    add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/CoreData.pak"
-                      COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData" "${CMAKE_CURRENT_BINARY_DIR}/CoreData.pak" -c
-                      DEPENDS PackageTool ${COREDATA_FILES})
-
-    add_custom_target(BuildPakFiles ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/EditorData.pak" "${CMAKE_CURRENT_BINARY_DIR}/CoreData.pak")
-endif()
-
-
-
-
-
-
-
-
-

+ 1 - 1
Source/AtomicJS/CMakeLists.txt

@@ -39,5 +39,5 @@ set (SOURCE_FILES ${JAVASCRIPT_SOURCE} ${JAVASCRIPT_BINDINGS_SOURCE} )
 add_library(AtomicJS ${SOURCE_FILES})
 
 if (NOT IOS AND NOT ANDROID AND NOT EMSCRIPTEN)
-    add_dependencies(AtomicJS JSBind)
+    add_dependencies(AtomicJS JSBind BuildJSBindings)
 endif()

+ 6 - 3
Source/AtomicJS/JSBind/CMakeLists.txt

@@ -11,7 +11,10 @@ add_executable(JSBind ${SOURCE_FILES})
 
 target_link_libraries(JSBind ${ATOMIC_LINK_LIBRARIES})
 
-add_custom_command (TARGET JSBind POST_BUILD
-                    COMMAND $<TARGET_FILE:JSBind> "\"${CMAKE_SOURCE_DIR}\"" "${JAVASCRIPT_BINDINGS_PLATFORM}"
-                    COMMENT "Generating Javascript Bindings")
+#TODO: finer grained dependencies
+add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/Build/Source/Generated/${JAVASCRIPT_BINDINGS_PLATFORM}/Javascript/Modules/JSModules.cpp"
+                   COMMAND $<TARGET_FILE:JSBind> "\"${CMAKE_SOURCE_DIR}\"" "${JAVASCRIPT_BINDINGS_PLATFORM}"
+                   DEPENDS JSBind
+                   COMMENT "Generating Javascript Bindings")
 
+add_custom_target(BuildJSBindings DEPENDS "${CMAKE_SOURCE_DIR}/Build/Source/Generated/${JAVASCRIPT_BINDINGS_PLATFORM}/Javascript/Modules/JSModules.cpp")

+ 1 - 1
Source/CMakeLists.txt

@@ -5,8 +5,8 @@ add_subdirectory(AtomicJS)
 add_subdirectory(AtomicPlayer)
 
 if (NOT IOS AND NOT ANDROID AND NOT EMSCRIPTEN)    
-    add_subdirectory(Tools)
     add_subdirectory(AtomicEditor)
+    add_subdirectory(Tools)
 endif()
 
 

+ 36 - 0
Source/Tools/PackageTool/CMakeLists.txt

@@ -3,3 +3,39 @@
 add_executable(PackageTool PackageTool.cpp)
 
 target_link_libraries(PackageTool ${ATOMIC_LINK_LIBRARIES})
+
+
+file (GLOB_RECURSE EDITORDATA_FILES ${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData/*)
+file (GLOB_RECURSE COREDATA_FILES ${CMAKE_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData/*)
+
+if (MSVC)
+
+    add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/EditorData.pak"
+                       COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${CMAKE_CURRENT_BINARY_DIR}/EditorData.pak" -c
+                       DEPENDS PackageTool ${EDITORDATA_FILES})
+
+    add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/CoreData.pak"
+                      COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData" "${CMAKE_CURRENT_BINARY_DIR}/CoreData.pak" -c
+                      DEPENDS PackageTool ${COREDATA_FILES})
+
+    add_custom_target(BuildPakFiles ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/EditorData.pak" "${CMAKE_CURRENT_BINARY_DIR}/CoreData.pak")
+
+elseif (APPLE)
+
+    set (EDITORDATA_PAK "${CMAKE_SOURCE_DIR}/Bin/EditorData.pak")
+    set (COREDATA_PAK "${CMAKE_SOURCE_DIR}/Bin/CoreData.pak")
+
+    add_custom_command(OUTPUT "${EDITORDATA_PAK}"
+                       COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${EDITORDATA_PAK}" -c
+                       COMMAND rsync -u "${EDITORDATA_PAK}" "$<TARGET_FILE_DIR:AtomicEditor>/../Resources/EditorData.pak"
+                       DEPENDS PackageTool ${EDITORDATA_FILES})
+
+    add_custom_command(OUTPUT "${COREDATA_PAK}"
+                      COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData" "${COREDATA_PAK}" -c
+                      COMMAND rsync -u "${COREDATA_PAK}" "$<TARGET_FILE_DIR:AtomicEditor>/../Resources/CoreData.pak"
+                      DEPENDS PackageTool ${COREDATA_FILES})
+
+    add_custom_target(BuildEditorFiles ALL DEPENDS AtomicEditor "${EDITORDATA_PAK}" "${COREDATA_PAK}")
+
+endif()
+