Sfoglia il codice sorgente

Merge pull request #556 from Type1J/JLS-CMAKE-LINUX-VAR

Make CMake in Linux work correctly.
JoshEngebretson 10 anni fa
parent
commit
a3f4408708

+ 1 - 1
Build/CMake/Modules/AtomicLinux.cmake

@@ -1,5 +1,5 @@
 set (JAVASCRIPT_BINDINGS_PLATFORM "LINUX")
 set (JAVASCRIPT_BINDINGS_PLATFORM "LINUX")
-set (ATOMIC_NODE_JAKE node Build/node_modules/jake/bin/cli.js  -f  Build/Scripts/Bootstrap.js)
+set (ATOMIC_NODE_JAKE Build/Linux/node/node Build/node_modules/jake/bin/cli.js  -f  Build/Scripts/Bootstrap.js)
 
 
 include(AtomicDesktop)
 include(AtomicDesktop)
 
 

+ 4 - 0
Build/CMake/Modules/AtomicUtils.cmake

@@ -25,3 +25,7 @@ macro(GroupSources curdir)
     endif()
     endif()
 
 
 endmacro()
 endmacro()
+
+if(NOT CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+  set(LINUX TRUE CACHE BOOL "Indicates if host is Linux.")
+endif()

+ 17 - 0
Build/Linux/node/node

@@ -0,0 +1,17 @@
+#!/bin/sh
+
+NODE1=$(which nodejs)
+NODE2=$(which node)
+
+if   [ -x "$NODE1" ]; then
+  NODE=$NODE1
+elif [ -x "$NODE2" ]; then
+  NODE=$NODE2
+fi
+
+if [ ! -x "$NODE" ]; then
+  echo "Please install Node.JS"
+  return 1
+fi
+
+$NODE $@

+ 1 - 1
Build/Scripts/BuildCommon.js

@@ -26,7 +26,7 @@ namespace('build', function() {
         else if (os.platform() == "darwin")
         else if (os.platform() == "darwin")
           cmds.push(atomicRoot + "Build/Mac/node/node " + atomicRoot + "Build/TypeScript/tsc.js -p " + atomicRoot + "Script");
           cmds.push(atomicRoot + "Build/Mac/node/node " + atomicRoot + "Build/TypeScript/tsc.js -p " + atomicRoot + "Script");
         else if (os.platform() == "linux") {
         else if (os.platform() == "linux") {
-          cmds.push("node " + atomicRoot + "Build/TypeScript/tsc.js -p " + atomicRoot + "Script");
+          cmds.push(atomicRoot + "Build/Linux/node/node " + atomicRoot + "Build/TypeScript/tsc.js -p " + atomicRoot + "Script");
         }
         }
         jake.exec(cmds, function() {
         jake.exec(cmds, function() {
 
 

+ 1 - 2
Build/Scripts/Host.js

@@ -6,8 +6,7 @@ if (os.platform() == "win32") {
 } else if (os.platform() == "darwin") {
 } else if (os.platform() == "darwin") {
   module.exports = require("./HostMac");
   module.exports = require("./HostMac");
   require("./BuildMac");
   require("./BuildMac");
-}
-else if (os.platform() == "linux") {
+} else if (os.platform() == "linux") {
   module.exports = require("./HostLinux");
   module.exports = require("./HostLinux");
   require("./BuildLinux");
   require("./BuildLinux");
 }
 }

+ 4 - 4
Source/AtomicEditor/CMakeLists.txt

@@ -25,9 +25,8 @@ if (APPLE)
     set(ATOMIC_EDITOR_ICON ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.icns)
     set(ATOMIC_EDITOR_ICON ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.icns)
     set_source_files_properties(${ATOMIC_EDITOR_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
     set_source_files_properties(${ATOMIC_EDITOR_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
 
 
-elseif(LINUX)
-
 else()
 else()
+
     include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
     include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
     add_definitions(-DCURL_STATICLIB)
     add_definitions(-DCURL_STATICLIB)
 
 
@@ -36,6 +35,7 @@ else()
     add_definitions(-DATOMIC_WIN32_CONSOLE)
     add_definitions(-DATOMIC_WIN32_CONSOLE)
 
 
     set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
     set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
+
 endif(APPLE)
 endif(APPLE)
 
 
 add_executable(AtomicEditor ${EXE_TYPE} ${SOURCE_FILES} ${ATOMIC_EDITOR_ICON})
 add_executable(AtomicEditor ${EXE_TYPE} ${SOURCE_FILES} ${ATOMIC_EDITOR_ICON})
@@ -45,10 +45,10 @@ target_link_libraries(AtomicEditor ToolCore AtomicJS AtomicPlayerJS AtomicNETJS
 if (APPLE)
 if (APPLE)
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
 
 
-    target_link_libraries(AtomicEditor NETCore NETScript curl)
+    target_link_libraries(AtomicEditor NETCore NETScript libcurl)
 
 
 elseif(LINUX)
 elseif(LINUX)
-    target_link_libraries(AtomicEditor NETCore NETScript curl nativefiledialog ${GTK3_LIBRARIES})
+    target_link_libraries(AtomicEditor NETCore NETScript libcurl nativefiledialog ${GTK3_LIBRARIES})
 
 
 else()
 else()
     target_link_libraries(AtomicEditor NETCore NETScript libcurl Iphlpapi Wldap32)
     target_link_libraries(AtomicEditor NETCore NETScript libcurl Iphlpapi Wldap32)

+ 14 - 5
Source/AtomicPlayer/Application/CMakeLists.txt

@@ -39,19 +39,19 @@ if (MSVC)
   COMMAND ${CMAKE_COMMAND}
   COMMAND ${CMAKE_COMMAND}
   ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicPlayer>/D3DCompiler_47.dll\")
   ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicPlayer>/D3DCompiler_47.dll\")
 
 
-    target_link_libraries(AtomicPlayer NETCore NETScript)
+  target_link_libraries(AtomicPlayer NETCore NETScript)
+endif(MSVC)
 
 
-endif()
 
 
 if (APPLE)
 if (APPLE)
 
 
-if (NOT IOS)
+  if (NOT IOS)
 
 
     target_link_libraries(AtomicPlayer NETCore NETScript)
     target_link_libraries(AtomicPlayer NETCore NETScript)
 
 
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
 
 
-else()
+  else()
 
 
     set_target_properties(AtomicPlayer PROPERTIES
     set_target_properties(AtomicPlayer PROPERTIES
       MACOSX_BUNDLE_GUI_IDENTIFIER "com.atomicgameengine.atomicplayer"
       MACOSX_BUNDLE_GUI_IDENTIFIER "com.atomicgameengine.atomicplayer"
@@ -65,9 +65,18 @@ else()
 
 
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/iOSBundleInfo.plist.template)
     set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/iOSBundleInfo.plist.template)
 
 
-endif()
+  endif()
+
 endif(APPLE)
 endif(APPLE)
 
 
+
+if (LINUX)
+
+    target_link_libraries(AtomicPlayer NETCore NETScript)
+
+endif(LINUX)
+
+
 if (TARGET_PROPERTIES)
 if (TARGET_PROPERTIES)
     set_target_properties (AtomicPlayer PROPERTIES ${TARGET_PROPERTIES})
     set_target_properties (AtomicPlayer PROPERTIES ${TARGET_PROPERTIES})
 endif ()
 endif ()

+ 1 - 1
Source/AtomicTool/CMakeLists.txt

@@ -18,7 +18,7 @@ if (MSVC)
     ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicTool>/D3DCompiler_47.dll\")
     ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicTool>/D3DCompiler_47.dll\")
 
 
 else()
 else()
-    target_link_libraries(AtomicTool curl)
+    target_link_libraries(AtomicTool libcurl)
 endif()
 endif()
 
 
 add_custom_command( TARGET AtomicTool POST_BUILD
 add_custom_command( TARGET AtomicTool POST_BUILD

+ 4 - 8
Source/ToolCore/CMakeLists.txt

@@ -1,14 +1,10 @@
 include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
 include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty
                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty
                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Assimp/include
                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Assimp/include
-                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty/nativefiledialog)
+                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty/nativefiledialog
+                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
 
 
-add_definitions(-DCPLUSPLUS_WITHOUT_QT)
-
-if (MSVC)
-    include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
-    add_definitions(-DCURL_STATICLIB)
-endif()
+add_definitions(-DCPLUSPLUS_WITHOUT_QT -DCURL_STATICLIB)
 
 
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 
 
@@ -19,7 +15,7 @@ endif()
 
 
 add_library(ToolCore ${SOURCE_FILES})
 add_library(ToolCore ${SOURCE_FILES})
 
 
-target_link_libraries(ToolCore Assimp Poco)
+target_link_libraries(ToolCore Assimp Poco libcurl)
 
 
 if (LINUX)
 if (LINUX)
     target_link_libraries(ToolCore NETCore NETScript)
     target_link_libraries(ToolCore NETCore NETScript)