Browse Source

Implements support for using engine through `add_subdirectory()`.

`CMAKE_SOURCE_DIR` variable replaced with `ATOMIC_SOURCE_DIR` (which is alias to `Atomic_SOURCE_DIR` provided by cmake). `ATOMIC_SOURCE_DIR` points to root directory of Atomic project just like `CMAKE_SOURCE_DIR` does.

Introduced three internal cache variables that provide information to c++ projects that use engine through `add_subdirectory()`:
  * ATOMIC_INCLUDE_DIRS - list of Atomic include directories.
  * ATOMIC_DEFINITIONS - list of Atomic build definitions.
  * ATOMIC_LINK_LIBRARIES - list of Atomic link libraries.

Introduced three macros:
  * include_directories_exported() - behaves like `include_directories()`, also appends included directories to `ATOMIC_INCLUDE_DIRS` cache variable.
  * add_definitions_exported() - behaves like `add_definitions()`, also appends added definitions to `ATOMIC_DEFINITIONS` cache variable.
  * add_link_libraries_exported() - appends libraries to `ATOMIC_LINK_LIBRARIES` cache variable. Targets still have to manually link to libraries specified in `ATOMIC_LINK_LIBRARIES` variable.

Macros are to be used when includes/definitions/libraries should be exposed to game projects linking to engine.
Rokas Kupstys 9 years ago
parent
commit
d6c1db2943

+ 16 - 0
Build/CMake/Modules/AtomicCommon.cmake

@@ -203,3 +203,19 @@ macro (setup_executable)
     setup_target ()
 
 endmacro ()
+
+macro (include_directories_exported)
+    include_directories(${ARGV})
+    set (ATOMIC_INCLUDE_DIRS ${ATOMIC_INCLUDE_DIRS} ${ARGV} CACHE INTERNAL "Atomic game engine include directories" FORCE)
+endmacro ()
+
+macro (add_definitions_exported)
+    add_definitions(${ARGV})
+    set (ATOMIC_DEFINITIONS ${ATOMIC_DEFINITIONS} ${ARGV} CACHE INTERNAL "Atomic game engine definitions" FORCE)
+endmacro ()
+
+macro (add_link_libraries_exported)
+    set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} ${ARGV} CACHE INTERNAL "Atomic game engine link libraries" FORCE)
+endmacro ()
+
+

+ 5 - 7
Build/CMake/Modules/AtomicDesktop.cmake

@@ -3,22 +3,20 @@ include(AtomicCommon)
 
 set (ATOMIC_DESKTOP TRUE)
 
-include_directories(${CMAKE_SOURCE_DIR}/Source/ThirdParty/Poco/Foundation/include)
+include_directories_exported(${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Poco/Foundation/include)
 
-add_definitions( -DATOMIC_PLATFORM_DESKTOP -DATOMIC_NAVIGATION -DATOMIC_TBUI -DATOMIC_FILEWATCHER -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_STATIC )
+add_definitions_exported( -DATOMIC_PLATFORM_DESKTOP -DATOMIC_NAVIGATION -DATOMIC_TBUI -DATOMIC_FILEWATCHER -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_STATIC )
 
 set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} libsquish)
 
 if (NOT LINUX)
-
-    set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} LibCpuId)
-
+    add_link_libraries_exported (LibCpuId)
 endif()
 
 # Check whether the CEF submodule is available
-if (EXISTS ${CMAKE_SOURCE_DIR}/Submodules/CEF)
+if (EXISTS ${ATOMIC_SOURCE_DIR}/Submodules/CEF)
     #Check if CEF got pulled by looking if the foldes is empty
-    file(GLOB CEF_FILES ${CMAKE_SOURCE_DIR}/Submodules/CEF/*)
+    file(GLOB CEF_FILES ${ATOMIC_SOURCE_DIR}/Submodules/CEF/*)
 
     list(LENGTH CEF_FILES CEF_FILES_LEN)
     if(CEF_FILES_LEN EQUAL 0)

+ 2 - 2
Build/CMake/Modules/AtomicDoc.cmake

@@ -3,7 +3,7 @@ find_program(CLDOC cldoc)
 if(CLDOC)
 
     get_property(include_dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
-    get_directory_property( DEFS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS )
+    get_directory_property( DEFS DIRECTORY ${ATOMIC_SOURCE_DIR} COMPILE_DEFINITIONS )
     
     FOREACH(infileName ${include_dirs})
         LIST(APPEND DOC_INCLUDES "-I${infileName}")
@@ -21,7 +21,7 @@ if(CLDOC)
 
     MESSAGE(STATUS "Enabling documentation for: " ${COMPNAME})
 
-    SET(doc_args generate ${CXX_LIST} ${C_LIST} -std=c++11 -DATOMIC_DEV_BUILD=1 ${DOC_DEFINES} ${DOC_INCLUDES} -- --type html --language c++ --output ${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicDocs )
+    SET(doc_args generate ${CXX_LIST} ${C_LIST} -std=c++11 -DATOMIC_DEV_BUILD=1 ${DOC_DEFINES} ${DOC_INCLUDES} -- --type html --language c++ --output ${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicDocs )
 
     LIST( APPEND doc_args ${SOURCE_FILES} )
 

+ 2 - 2
Build/CMake/Modules/AtomicGit.cmake

@@ -1,6 +1,6 @@
 
 # If submodules aren't initialized, look for git and initialize
-if (NOT EXISTS ${CMAKE_SOURCE_DIR}/Submodules/CEF/.git OR NOT EXISTS ${CMAKE_SOURCE_DIR}/Submodules/AtomicExamples/.git)
+if (NOT EXISTS ${ATOMIC_SOURCE_DIR}/Submodules/CEF/.git OR NOT EXISTS ${ATOMIC_SOURCE_DIR}/Submodules/AtomicExamples/.git)
 
     find_package(Git)
 
@@ -9,7 +9,7 @@ if (NOT EXISTS ${CMAKE_SOURCE_DIR}/Submodules/CEF/.git OR NOT EXISTS ${CMAKE_SOU
         message ("\n\nUpdating submodules, please wait...\n\n")
 
         execute_process( COMMAND ${GIT_EXECUTABLE} submodule update --init
-                         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+                         WORKING_DIRECTORY ${ATOMIC_SOURCE_DIR}
                          RESULT_VARIABLE ATOMIC_GIT_STATUS )
 
         # check return status

+ 4 - 8
Build/CMake/Modules/AtomicLinux.cmake

@@ -3,10 +3,10 @@ set (ATOMIC_NODE_JAKE Build/Linux/node/node Build/node_modules/jake/bin/cli.js
 
 include(AtomicDesktop)
 
-add_definitions(-DATOMIC_PLATFORM_LINUX -DATOMIC_OPENGL -DKNET_UNIX -DHAVE_INT64_T)
+add_definitions_exported(-DATOMIC_PLATFORM_LINUX -DATOMIC_OPENGL -DATOMIC_TBUI -DKNET_UNIX -DHAVE_INT64_T)
 
-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=gnu++0x -fPIC")
+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-warn-absolute-paths -fPIC")
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-warn-absolute-paths -Wno-invalid-offsetof -std=gnu++0x -fPIC")
 
 
 find_package(PkgConfig REQUIRED)
@@ -14,8 +14,4 @@ find_package(PkgConfig REQUIRED)
 #for native file dialog
 pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
 
-list (APPEND ATOMIC_LINK_LIBRARIES pthread GLEW GL dl)
-
-
-add_definitions(-DATOMIC_PLATFORM_LINUX)
-add_definitions(-DATOMIC_OPENGL -Wno-warn-absolute-paths -DATOMIC_TBUI)
+add_link_libraries_exported (pthread GLEW GL dl)

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

@@ -11,7 +11,7 @@ set(PROJECT_ARCH "x86_64")
 set(CMAKE_OSX_ARCHITECTURES "x86_64")
 set(CMAKE_OSX_DEPLOYMENT_TARGET  "10.9")
 
-add_definitions(-DATOMIC_PLATFORM_OSX -DATOMIC_OPENGL -DKNET_UNIX)
+add_definitions_exported(-DATOMIC_PLATFORM_OSX -DATOMIC_OPENGL -DKNET_UNIX)
 
 if (CMAKE_GENERATOR STREQUAL "Xcode")
     add_definitions(-DATOMIC_XCODE)

+ 2 - 2
Build/CMake/Modules/AtomicPlatform.cmake

@@ -25,12 +25,12 @@ elseif(EMSCRIPTEN)
 
 endif()
 
-set (JAVASCRIPT_BINDINGS_PLATFORM_ROOT "${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated")
+set (JAVASCRIPT_BINDINGS_PLATFORM_ROOT "${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated")
 
 if(NOT EXISTS "${JAVASCRIPT_BINDINGS_PLATFORM_ROOT}/Javascript")
 
 execute_process ( COMMAND ${ATOMIC_NODE_JAKE};build:precreateScriptBindings[${JAVASCRIPT_BINDINGS_PLATFORM}]
-                  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" )
+                  WORKING_DIRECTORY "${ATOMIC_SOURCE_DIR}" )
 
 endif()
 

+ 1 - 2
Build/CMake/Modules/AtomicWeb.cmake

@@ -3,8 +3,7 @@ include(AtomicCommon)
 
 set (JAVASCRIPT_BINDINGS_PLATFORM "WEB")
 
-add_definitions(-DATOMIC_PLATFORM_WEB)
-add_definitions(-DATOMIC_OPENGL -Wno-warn-absolute-paths -DATOMIC_TBUI -DNO_POPEN)
+add_definitions_exported(-DATOMIC_PLATFORM_WEB -DATOMIC_OPENGL -DATOMIC_TBUI -DNO_POPEN)
 
 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-warn-absolute-paths -Wno-unknown-warning-option")
 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=gnu++0x -Wno-warn-absolute-paths -Wno-unknown-warning-option")

+ 9 - 13
Build/CMake/Modules/AtomicWindows.cmake

@@ -8,31 +8,27 @@ include(AtomicDesktop)
 set (ATOMIC_NODE_JAKE Build/Windows/node/node.exe Build/node_modules/jake/bin/cli.js  -f  Build\\Scripts\\Bootstrap.js)
 
 if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-    set (D3DCOMPILER_47_DLL ${CMAKE_SOURCE_DIR}/Build/Windows/Binaries/x64/D3DCompiler_47.dll)
+    set (D3DCOMPILER_47_DLL ${ATOMIC_SOURCE_DIR}/Build/Windows/Binaries/x64/D3DCompiler_47.dll)
 else()
-    set (D3DCOMPILER_47_DLL ${CMAKE_SOURCE_DIR}/Build/Windows/Binaries/x86/D3DCompiler_47.dll)
+    set (D3DCOMPILER_47_DLL ${ATOMIC_SOURCE_DIR}/Build/Windows/Binaries/x86/D3DCompiler_47.dll)
 endif()
 
-add_definitions(-DATOMIC_PLATFORM_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DATOMIC_TBUI )
+add_definitions_exported(-DATOMIC_PLATFORM_WINDOWS -DATOMIC_TBUI )
+add_definitions(-D_CRT_SECURE_NO_WARNINGS )
 
-list (APPEND ATOMIC_LINK_LIBRARIES MojoShader user32 gdi32 winmm imm32 ole32 oleaut32 version uuid Ws2_32)
+add_link_libraries_exported(MojoShader user32 gdi32 winmm imm32 ole32 oleaut32 version uuid Ws2_32)
 
 if (ATOMIC_D3D11)
-
-    add_definitions(-DATOMIC_D3D11)
-
-    list (APPEND ATOMIC_LINK_LIBRARIES d3d11 d3dcompiler dxguid)
-
+    add_definitions_exported(-DATOMIC_D3D11)
+    add_link_libraries_exported(d3d11 d3dcompiler dxguid)
 else()
-
-    list (APPEND ATOMIC_LINK_LIBRARIES  d3d9 d3dcompiler)
-
+    add_link_libraries_exported(d3d9 d3dcompiler)
 endif()
 
 # removes dependency on D3DCompiler dll for Atomic Direct3D9 builds which don't require it
 # (binaries that never initialize the Direct3D9 graphics subsystem)
 if (ATOMIC_D3D9SHADERCOMPILER_DISABLE)
-  add_definitions(-DATOMIC_D3D9SHADERCOMPILER_DISABLE)
+  add_definitions_exported(-DATOMIC_D3D9SHADERCOMPILER_DISABLE)
 endif()
 
 

+ 4 - 4
Build/CMake/Toolchains/android.toolchain.cmake

@@ -1624,11 +1624,11 @@ endif()
 
 # Urho3D: Bug fix - not sure what was the original intention as it always tries to overwrite when it is user defined?
 #if( DEFINED LIBRARY_OUTPUT_PATH_ROOT
-#      OR EXISTS "${CMAKE_SOURCE_DIR}/AndroidManifest.xml"
-#      OR (EXISTS "${CMAKE_SOURCE_DIR}/../AndroidManifest.xml" AND EXISTS "${CMAKE_SOURCE_DIR}/../jni/") )
-#  set( LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_SOURCE_DIR} CACHE PATH "Root for binaries output, set this to change where Android libs are installed to" )
+#      OR EXISTS "${ATOMIC_SOURCE_DIR}/AndroidManifest.xml"
+#      OR (EXISTS "${ATOMIC_SOURCE_DIR}/../AndroidManifest.xml" AND EXISTS "${ATOMIC_SOURCE_DIR}/../jni/") )
+#  set( LIBRARY_OUTPUT_PATH_ROOT ${ATOMIC_SOURCE_DIR} CACHE PATH "Root for binaries output, set this to change where Android libs are installed to" )
   if( NOT _CMAKE_IN_TRY_COMPILE )
-    if( EXISTS "${CMAKE_SOURCE_DIR}/jni/CMakeLists.txt" )
+    if( EXISTS "${ATOMIC_SOURCE_DIR}/jni/CMakeLists.txt" )
       set( EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/bin/${ANDROID_NDK_ABI_NAME}" CACHE PATH "Output directory for applications" )
     else()
       set( EXECUTABLE_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH_ROOT}/bin" CACHE PATH "Output directory for applications" )

+ 15 - 18
CMakeLists.txt

@@ -3,12 +3,14 @@ project (Atomic)
 
 cmake_minimum_required(VERSION 2.8.12.1)
 
-set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/Build/CMake/Modules)
+set (ATOMIC_SOURCE_DIR ${Atomic_SOURCE_DIR})
+set (CMAKE_MODULE_PATH ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules)
 
 include(AtomicGit)
 include(AtomicUtils)
+include(AtomicCommon)
 
-add_definitions(-DATOMIC_ROOT_SOURCE_DIR="${CMAKE_SOURCE_DIR}" -DATOMIC_ROOT_BUILD_DIR="${CMAKE_BINARY_DIR}")
+add_definitions(-DATOMIC_ROOT_SOURCE_DIR="${ATOMIC_SOURCE_DIR}" -DATOMIC_ROOT_BUILD_DIR="${CMAKE_BINARY_DIR}")
 
 add_definitions( -DATOMIC_API= -DATOMIC_STATIC_DEFINE -DATOMIC_ATOMIC2D -DATOMIC_LOGGING -DATOMIC_PROFILING)
 
@@ -24,21 +26,21 @@ endif()
 # add_definitions("-DATOMIC_SOURCE_BUILD=1")
 
 # this is here as QtCreator is having trouble picking up #include <Atomic/*> without it
-include_directories(${CMAKE_SOURCE_DIR}/Source ${CMAKE_SOURCE_DIR}/Source/AtomicEditor/Source)
+include_directories(${ATOMIC_SOURCE_DIR}/Source ${ATOMIC_SOURCE_DIR}/Source/AtomicEditor/Source)
 
-set (ATOMIC_LINK_LIBRARIES Atomic Box2D Duktape TurboBadger FreeType JO LZ4 PugiXml STB SDL)
+add_link_libraries_exported (Atomic Box2D Duktape TurboBadger FreeType JO LZ4 PugiXml STB SDL)
 
 if (NOT ATOMIC_BUILD_2D)
-    add_definitions( -DATOMIC_PHYSICS -DATOMIC_3D)
-    set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} Bullet StanHull)
+    add_definitions_exported (-DATOMIC_PHYSICS -DATOMIC_3D)
+    add_link_libraries_exported (Bullet StanHull)
 endif()
 
 if (NOT EMSCRIPTEN)
-    add_definitions( -DATOMIC_THREADING -DATOMIC_NETWORK)
-    set (ATOMIC_LINK_LIBRARIES ${ATOMIC_LINK_LIBRARIES} Civetweb Recast Detour DetourCrowd DetourTileCache kNet libcurl )
+    add_definitions_exported (-DATOMIC_THREADING -DATOMIC_NETWORK)
+    add_link_libraries_exported (Civetweb Recast Detour DetourCrowd DetourTileCache kNet libcurl)
 endif()
 
-add_definitions( -DATOMIC_WEB )
+add_definitions_exported (-DATOMIC_WEB)
 
 include (AtomicPlatform)
 
@@ -55,14 +57,14 @@ if (ATOMIC_WEBVIEW)
       # which CEF3 scripts (including shell) currently require on OSX
       cmake_policy(SET CMP0037 OLD)
     endif()
-    set(CEF_ROOT "${CMAKE_SOURCE_DIR}/Submodules/CEF/MacOSX")
+    set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/MacOSX")
   elseif(MSVC)
     if (ATOMIC_PROJECT_ARCH STREQUAL "x86")
     else()
-      set(CEF_ROOT "${CMAKE_SOURCE_DIR}/Submodules/CEF/Windows/64bit")
+      set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/Windows/64bit")
     endif()
   else()
-      set(CEF_ROOT "${CMAKE_SOURCE_DIR}/Submodules/CEF/Linux")
+      set(CEF_ROOT "${ATOMIC_SOURCE_DIR}/Submodules/CEF/Linux")
   endif()
 
   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CEF_ROOT}/cmake")
@@ -70,19 +72,14 @@ if (ATOMIC_WEBVIEW)
   include_directories(${CEF_ROOT})
 
   add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
-
 endif()
 
+add_definitions(${ATOMIC_DEFINITIONS})
 add_subdirectory(Source)
 
-
-
 if (ATOMIC_DESKTOP AND ATOMIC_DEV_BUILD)
-
     set (ATOMIC_CPLUSPLUS_EXAMPLES 1)
-
     if (ATOMIC_CPLUSPLUS_EXAMPLES)
         add_subdirectory(Submodules/AtomicExamples/FeatureExamples/CPlusPlus)
     endif()
-
 endif()

+ 2 - 9
Source/Atomic/CMakeLists.txt

@@ -1,13 +1,6 @@
 
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/WebSocketPP/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/ASIO/include)
+include_directories(${ATOMIC_INCLUDE_DIRS})
+include_directories_exported(${CMAKE_CURRENT_SOURCE_DIR})
 
 file (GLOB CONTAINER_SOURCE Container/*.cpp Container/*.h)
 file (GLOB CORE_SOURCE Core/*.cpp Core/*.h)

+ 1 - 1
Source/AtomicApp/CMakeLists.txt

@@ -1,6 +1,6 @@
 
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty )
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty )
 
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 

+ 12 - 12
Source/AtomicEditor/CMakeLists.txt

@@ -1,16 +1,16 @@
-include_directories ( ${CMAKE_SOURCE_DIR}/Source/ThirdParty
-                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
-                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
-                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D
-                      ${CMAKE_SOURCE_DIR}/Source/ThirdParty/nativefiledialog )
+include_directories ( ${ATOMIC_SOURCE_DIR}/Source/ThirdParty
+                      ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                      ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/kNet/include
+                      ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/FreeType/include
+                      ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Box2D
+                      ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/nativefiledialog )
 
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 
 # Remove the web helper sources
 list(REMOVE_ITEM SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/WebView/WebProcessHelperMac.cpp)
 
-file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/Editor/*.cpp)
+file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/Editor/*.cpp)
 
 set (SOURCE_FILES ${SOURCE_FILES} ${JAVASCRIPT_BINDINGS_SOURCE})
 
@@ -25,12 +25,12 @@ if (APPLE)
 
     #ICNS
     set(MACOSX_BUNDLE_ICON_FILE AtomicEditor.icns)
-    set(ATOMIC_EDITOR_ICON ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/AtomicEditor.icns)
+    set(ATOMIC_EDITOR_ICON ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/AtomicEditor.icns)
     set_source_files_properties(${ATOMIC_EDITOR_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
 
 else()
 
-    include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
+    include_directories (${ATOMIC_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
     add_definitions(-DCURL_STATICLIB)
 
     # We want a console for development builds
@@ -40,7 +40,7 @@ else()
       set (EXE_TYPE WIN32)
     endif()
 
-    set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
+    set (SOURCE_FILES ${SOURCE_FILES} ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
 
 endif(APPLE)
 
@@ -103,7 +103,7 @@ if(APPLE)
   target_link_libraries(${CEF_HELPER_TARGET} libcef_lib libcef_dll_wrapper ${CEF_STANDARD_LIBS} Atomic AtomicWebView ${ATOMIC_LINK_LIBRARIES})
 
   set_target_properties(${CEF_HELPER_TARGET} PROPERTIES
-      MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/Build/CMake/Modules/AtomicEditor-HelperInfo.plist.template"
+      MACOSX_BUNDLE_INFO_PLIST "${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/AtomicEditor-HelperInfo.plist.template"
     )
 
   # Fix the framework link in the helper executable.
@@ -173,7 +173,7 @@ target_link_libraries(${CEF_TARGET} ToolCore AtomicApp AtomicWebView AtomicJS At
 
 if (APPLE)
 
-    set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/Build/CMake/Modules/AtomicEditorInfo.plist.template")
+    set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/AtomicEditorInfo.plist.template")
     set (MACOSX_BUNDLE_GUI_IDENTIFIER "com.thunderbeastgames.atomiceditor")
     set (MACOSX_BUNDLE_BUNDLE_NAME "AtomicEditor")
 

+ 6 - 6
Source/AtomicJS/CMakeLists.txt

@@ -1,10 +1,10 @@
 
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D)
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/kNet/include
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/FreeType/include
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Box2D)
 
 file (GLOB JAVASCRIPT_SOURCE Javascript/*.cpp Javascript/*.h)
 
@@ -15,7 +15,7 @@ if (NOT MSVC)
     add_definitions (-DUNIX)
 endif()
 
-file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/Atomic/*.cpp)
+file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/Atomic/*.cpp)
 
 set (SOURCE_FILES ${JAVASCRIPT_SOURCE} ${JAVASCRIPT_BINDINGS_SOURCE})
 

+ 10 - 10
Source/AtomicNET/NETNative/CMakeLists.txt

@@ -1,9 +1,9 @@
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D)
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/kNet/include
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/FreeType/include
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Box2D)
 
 # TODO: Look into the application-extension flag for iOS
 #if (IOS)
@@ -11,7 +11,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}
 #    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fapplication-extension")
 #endif()
 
-set (CSATOMICDIR "${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/CSharp/Packages/")
+set (CSATOMICDIR "${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/CSharp/Packages/")
 
 file (GLOB CSHARP_BINDINGS_SOURCE ${CSATOMICDIR}/Atomic/Native/*.cpp ${CSATOMICDIR}/Atomic/Native/*.h
                                   ${CSATOMICDIR}/AtomicNETNative/Native/*.cpp ${CSATOMICDIR}/AtomicNETNative/Native/*.h
@@ -27,8 +27,8 @@ if (NOT IOS AND NOT ANDROID AND NOT EMSCRIPTEN)
 endif()
 
 if (ANDROID)
-	include_directories(${CMAKE_SOURCE_DIR}/Source/ThirdParty/SDL/include)
-	set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Source/ThirdParty/SDL/src/main/android/SDL_android_main.c)
+	include_directories(${ATOMIC_SOURCE_DIR}/Source/ThirdParty/SDL/include)
+	set (SOURCE_FILES ${SOURCE_FILES} ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/SDL/src/main/android/SDL_android_main.c)
 endif()
 
 add_library(AtomicNETNative SHARED ${SOURCE_FILES} ${CSHARP_BINDINGS_SOURCE})
@@ -55,7 +55,7 @@ if (APPLE)
         set_target_properties(AtomicNETNative PROPERTIES
           FRAMEWORK TRUE
           MACOSX_FRAMEWORK_IDENTIFIER com.atomicgameengine.atomicnetframework
-          MACOSX_FRAMEWORK_INFO_PLIST ${CMAKE_SOURCE_DIR}/Build/CMake/IOS/AtomicNET.framework.plist
+          MACOSX_FRAMEWORK_INFO_PLIST ${ATOMIC_SOURCE_DIR}/Build/CMake/IOS/AtomicNET.framework.plist
           # PUBLIC_HEADER dynamicFramework.h
           XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
         )
@@ -80,7 +80,7 @@ elseif(ANDROID)
     set (ATOMICNET_NATIVE_PLATFORM Android)
 endif()
 
-set (ATOMICNET_NATIVE_DIR "${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/$<$<CONFIG:debug>:Debug>$<$<CONFIG:release>:Release>/Native/${ATOMICNET_NATIVE_PLATFORM}")
+set (ATOMICNET_NATIVE_DIR "${ATOMIC_SOURCE_DIR}/Artifacts/AtomicNET/$<$<CONFIG:debug>:Debug>$<$<CONFIG:release>:Release>/Native/${ATOMICNET_NATIVE_PLATFORM}")
 
 if (NOT IOS)
 

+ 3 - 3
Source/AtomicNET/NETScript/CMakeLists.txt

@@ -1,8 +1,8 @@
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}
-                    ${CMAKE_SOURCE_DIR}/Source/ThirdParty)
+                    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty)
 
-set (CSATOMICNETSCRIPTNATIVEDIR "${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/CSharp/Packages/AtomicNETScript/Native")
-set (JSATOMICNETSCRIPTDIR "${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/AtomicNETScript")
+set (CSATOMICNETSCRIPTNATIVEDIR "${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/CSharp/Packages/AtomicNETScript/Native")
+set (JSATOMICNETSCRIPTDIR "${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/AtomicNETScript")
 
 file ( GLOB ATOMICNETSCRIPT_BINDINGS_SOURCE ${CSATOMICNETSCRIPTNATIVEDIR}/*.cpp ${CSATOMICNETSCRIPTNATIVEDIR}/*.h
                                             ${JSATOMICNETSCRIPTDIR}/*.cpp ${JSATOMICNETSCRIPTDIR}/*.h )

+ 11 - 11
Source/AtomicPlayer/Application/CMakeLists.txt

@@ -1,10 +1,10 @@
 
-include_directories(${CMAKE_SOURCE_DIR}/Source)
-include_directories ( ${CMAKE_SOURCE_DIR}/Source/ThirdParty
-                              ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                              ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
-                              ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
-                              ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D )
+include_directories(${ATOMIC_SOURCE_DIR}/Source)
+include_directories ( ${ATOMIC_SOURCE_DIR}/Source/ThirdParty
+                              ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                              ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/kNet/include
+                              ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/FreeType/include
+                              ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Box2D )
 
 # Define source files
 file (GLOB SOURCE_FILES *.cpp *.h )
@@ -13,20 +13,20 @@ file (GLOB SOURCE_FILES *.cpp *.h )
 
 if (MSVC)
     set (EXE_TYPE WIN32)
-    set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
+    set (SOURCE_FILES ${SOURCE_FILES} ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
 elseif(APPLE)
     #ICNS
     set(MACOSX_BUNDLE_ICON_FILE Atomic.icns)
 if (NOT IOS)
-    set(ATOMIC_PLAYER_ICON ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.icns)
+    set(ATOMIC_PLAYER_ICON ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/Atomic.icns)
 endif()
     set_source_files_properties(${ATOMIC_PLAYER_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
     set (EXE_TYPE MACOSX_BUNDLE)
 endif()
 
 if (ANDROID)
-	include_directories(${CMAKE_SOURCE_DIR}/Source/ThirdParty/SDL/include)
-	add_library(AtomicPlayer SHARED ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Source/ThirdParty/SDL/src/main/android/SDL_android_main.c)
+	include_directories(${ATOMIC_SOURCE_DIR}/Source/ThirdParty/SDL/include)
+	add_library(AtomicPlayer SHARED ${SOURCE_FILES} ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/SDL/src/main/android/SDL_android_main.c)
 else()
 
 # iOS AtomicPlayer currently disabled
@@ -66,7 +66,7 @@ if (APPLE)
 #      XCODE_ATTRIBUTE_COMBINE_HIDPI_IMAGES NO
 #    )
 
-#    set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/iOSBundleInfo.plist.template)
+#    set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${ATOMIC_SOURCE_DIR}/Build/CMake/Modules/iOSBundleInfo.plist.template)
 
   endif()
 

+ 2 - 2
Source/AtomicPlayer/CMakeLists.txt

@@ -1,5 +1,5 @@
-include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty )
+include_directories (${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                     ${ATOMIC_SOURCE_DIR}/Source/ThirdParty )
 
 
 file (GLOB SOURCE_FILES *.cpp *.h)

+ 2 - 2
Source/AtomicPlayerJS/CMakeLists.txt

@@ -1,8 +1,8 @@
-include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty)
+include_directories (${ATOMIC_SOURCE_DIR}/Source/ThirdParty)
 
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 
-file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/AtomicPlayer/*.cpp)
+file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/AtomicPlayer/*.cpp)
 
 set (SOURCE_FILES ${SOURCE_FILES} ${JAVASCRIPT_BINDINGS_SOURCE} )
 

+ 9 - 9
Source/AtomicTool/CMakeLists.txt

@@ -16,9 +16,9 @@ endif()
 
 # Custom target which is always considered out of date, checks for zero size/missing script bindings and generates
 add_custom_target( AtomicToolCheckScripts
-                   WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-                   COMMAND "${CMAKE_COMMAND}" -E make_directory \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
-                   COMMAND "${CMAKE_COMMAND}" -E copy_if_different \"$<TARGET_FILE:AtomicTool>\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/\"
+                   WORKING_DIRECTORY "${ATOMIC_SOURCE_DIR}"
+                   COMMAND "${CMAKE_COMMAND}" -E make_directory \"${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
+                   COMMAND "${CMAKE_COMMAND}" -E copy_if_different \"$<TARGET_FILE:AtomicTool>\" \"${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicTool/\"
                    COMMAND ${ATOMIC_NODE_JAKE};build:genscripts[false] )
 
 add_dependencies (AtomicToolCheckScripts AtomicTool)
@@ -26,9 +26,9 @@ add_dependencies (AtomicToolCheckScripts AtomicTool)
 # Copy AtomicTool to Artifacts
 add_custom_command( TARGET AtomicTool POST_BUILD
                     COMMAND "${CMAKE_COMMAND}"
-                    ARGS -E make_directory \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
+                    ARGS -E make_directory \"${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
                     COMMAND "${CMAKE_COMMAND}"
-                    ARGS -E copy_if_different \"$<TARGET_FILE:AtomicTool>\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/\"
+                    ARGS -E copy_if_different \"$<TARGET_FILE:AtomicTool>\" \"${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicTool/\"
                     COMMENT "Copying AtomicTool to Build Artifacts" )
 
 if (MSVC)
@@ -38,18 +38,18 @@ add_custom_command( TARGET AtomicTool POST_BUILD
                     COMMAND ${CMAKE_COMMAND}
                     ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicTool>/D3DCompiler_47.dll\"
                     COMMAND "${CMAKE_COMMAND}"
-                    ARGS -E make_directory \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
+                    ARGS -E make_directory \"${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
                     COMMAND ${CMAKE_COMMAND}
-                    ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/D3DCompiler_47.dll\"
+                    ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"${ATOMIC_SOURCE_DIR}/Artifacts/Build/AtomicTool/D3DCompiler_47.dll\"
                     COMMENT "Copying D3DShader compiler to Build Artifacts" )
 endif(MSVC)
 
 add_custom_target ( GenerateScriptBindings
-                    WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+                    WORKING_DIRECTORY "${ATOMIC_SOURCE_DIR}"
                     COMMAND ${ATOMIC_NODE_JAKE};build:genscripts[true];--trace
                     DEPENDS AtomicTool )
 
 add_custom_target ( GenerateAtomicNET
-                    WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+                    WORKING_DIRECTORY "${ATOMIC_SOURCE_DIR}"
                     COMMAND ${ATOMIC_NODE_JAKE};build:genAtomicNET[desktop,$<$<CONFIG:debug>:"Debug">$<$<CONFIG:release>:"Release">];--trace
                     DEPENDS AtomicTool )

+ 2 - 2
Source/AtomicWebView/CMakeLists.txt

@@ -1,9 +1,9 @@
 
-include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/)
+include_directories (${ATOMIC_SOURCE_DIR}/Source/ThirdParty/)
 
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 
-file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/WebView/*.cpp)
+file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/WebView/*.cpp)
 
 if (APPLE)
     set (PLATFORM_SOURCE WebBrowserHost.mm)

+ 2 - 0
Source/CMakeLists.txt

@@ -1,4 +1,6 @@
 
+include_directories_exported(${CMAKE_CURRENT_SOURCE_DIR})
+
 add_subdirectory(ThirdParty)
 add_subdirectory(Atomic)
 add_subdirectory(AtomicJS)

+ 10 - 0
Source/ThirdParty/CMakeLists.txt

@@ -9,6 +9,16 @@ add_subdirectory(STB)
 add_subdirectory(TurboBadger)
 add_subdirectory(zlib)
 
+include_directories_exported(
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/WebSocketPP/include
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/libcurl/include
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/kNet/include
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/FreeType/include
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Box2D
+    ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/ASIO/include)
+
 if (NOT ATOMIC_BUILD_2D)
     add_subdirectory(Bullet)
     add_subdirectory(StanHull)

+ 7 - 7
Source/ThirdParty/SDL/cmake/sdlchecks.cmake

@@ -104,7 +104,7 @@ endmacro()
 macro(CheckOSS)
   if(OSS)
     # Urho3D - bug fix - should use different variables for different checks, however, we replace the whole checks with find_package() approach for consistency sake
-    find_package (OSS)
+    find_package (OSS QUIET)
     if(OSS_FOUND)
       include_directories (${OSS_INCLUDE_DIRS})
       if (OSS_LIBRARIES)
@@ -201,7 +201,7 @@ endmacro()
 macro(CheckESD)
   if(ESD)
     # Urho3D - bug fix - do not use pkg-config tool for detection as it only works for host environment and not for rooted environment when cross-compiling
-    find_package (Esound)
+    find_package (Esound QUIET)
     if(ESOUND_FOUND)
       include_directories (${ESOUND_INCLUDE_DIRS})
       set(HAVE_ESD TRUE)
@@ -232,7 +232,7 @@ endmacro()
 macro(CheckARTS)
   if(ARTS)
     # Urho3D - bug fix - do not use (host) arts-config tool for detection as it only works for host environment and not for rooted environment when cross-compiling
-    find_package (aRts)
+    find_package (aRts QUIET)
     if(ARTS_FOUND)
       include_directories (${ARTS_INCLUDE_DIRS})
       file(GLOB ARTS_SOURCES ${SDL2_SOURCE_DIR}/src/audio/arts/*.c)
@@ -263,7 +263,7 @@ endmacro()
 macro(CheckNAS)
   if(NAS)
     # Urho3D - bug fix - do not use check_include_file() for detection as it only works for host environment and not for rooted environment when cross-compiling
-    find_package (NetworkAudioSystem)
+    find_package (NetworkAudioSystem QUIET)
     if(NAS_FOUND)
       include_directories (${NAS_INCLUDE_DIRS})
       set(HAVE_NAS TRUE)
@@ -294,7 +294,7 @@ endmacro()
 macro(CheckSNDIO)
   if(SNDIO)
     # Urho3D - bug fix - do not use check_include_file() for detection as it only works for host environment and not for rooted environment when cross-compiling
-    find_package (RoarAudio)
+    find_package (RoarAudio QUIET)
     if(SNDIO_FOUND)
       include_directories (${SNDIO_INCLUDE_DIRS})
       set(HAVE_SNDIO TRUE)
@@ -552,7 +552,7 @@ endmacro()
 macro(CheckMir)
     if(VIDEO_MIR)
         # Urho3D - bug fix - do not use pkg-config tool for detection as it only works for host environment and not for rooted environment when cross-compiling
-        find_package (Mir)
+        find_package (Mir QUIET)
         if (MIR_FOUND)
             include_directories (${MIR_INCLUDE_DIRS})
             set(HAVE_VIDEO_MIR TRUE)
@@ -588,7 +588,7 @@ endmacro()
 macro(CheckWayland)
   if(VIDEO_WAYLAND)
     # Urho3D - bug fix - do not use pkg-config tool for detection as it only works for host environment and not for rooted environment when cross-compiling
-    find_package (Wayland)
+    find_package (Wayland QUIET)
     if(WAYLAND_FOUND)
       include_directories (${WAYLAND_INCLUDE_DIRS})
       set(HAVE_VIDEO_WAYLAND TRUE)

+ 1 - 1
Source/ThirdParty/libcurl/LibCurlWindows.cmake

@@ -1,5 +1,5 @@
 
-include_directories(${CMAKE_SOURCE_DIR}/Source/ThirdParty/zlib)
+include_directories(${ATOMIC_SOURCE_DIR}/Source/ThirdParty/zlib)
 
 if (ATOMIC_PROJECT_ARCH STREQUAL "x86")
   include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/curl/windows/32bit)

+ 5 - 5
Source/ToolCore/CMakeLists.txt

@@ -1,8 +1,8 @@
-include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
-                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty
-                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Assimp/include
-                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty/nativefiledialog
-                     ${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
+include_directories (${ATOMIC_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
+                     ${ATOMIC_SOURCE_DIR}/Source/ThirdParty
+                     ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Assimp/include
+                     ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/nativefiledialog
+                     ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
 
 add_definitions(-DCPLUSPLUS_WITHOUT_QT -DCURL_STATICLIB)
 

+ 2 - 2
Source/ToolCoreJS/CMakeLists.txt

@@ -1,8 +1,8 @@
-include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Assimp/include)
+include_directories (${ATOMIC_SOURCE_DIR}/Source/ThirdParty ${ATOMIC_SOURCE_DIR}/Source/ThirdParty/Assimp/include)
 
 file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
 
-file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/ToolCore/*.cpp)
+file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${ATOMIC_SOURCE_DIR}/Artifacts/Build/Source/Generated/Javascript/Packages/ToolCore/*.cpp)
 
 set (SOURCE_FILES ${SOURCE_FILES} ${JAVASCRIPT_BINDINGS_SOURCE} )
 

+ 10 - 10
Source/Tools/PackageTool/CMakeLists.txt

@@ -5,24 +5,24 @@ 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/*)
+file (GLOB_RECURSE EDITORDATA_FILES ${ATOMIC_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData/*)
+file (GLOB_RECURSE COREDATA_FILES ${ATOMIC_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData/*)
 
 if (ATOMIC_BUILD_PAK_FILES)
 
-set (EDITORDATA_PAK "${CMAKE_SOURCE_DIR}/Bin/EditorData.pak")
-set (COREDATA_PAK "${CMAKE_SOURCE_DIR}/Bin/CoreData.pak")
+set (EDITORDATA_PAK "${ATOMIC_SOURCE_DIR}/Bin/EditorData.pak")
+set (COREDATA_PAK "${ATOMIC_SOURCE_DIR}/Bin/CoreData.pak")
 
 if (MSVC)
 
     add_custom_command(OUTPUT "${EDITORDATA_PAK}"
-                       COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${EDITORDATA_PAK}" -c
+                       COMMAND $<TARGET_FILE:PackageTool> "${ATOMIC_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${EDITORDATA_PAK}" -c
                        COMMAND ${CMAKE_COMMAND}
                        ARGS -E copy \"${EDITORDATA_PAK}\" \"$<TARGET_FILE_DIR:AtomicEditor>/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 $<TARGET_FILE:PackageTool> "${ATOMIC_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData" "${COREDATA_PAK}" -c
                       COMMAND ${CMAKE_COMMAND}
                       ARGS -E copy \"${COREDATA_PAK}\" \"$<TARGET_FILE_DIR:AtomicEditor>/CoreData.pak\"
                       DEPENDS PackageTool ${COREDATA_FILES})
@@ -30,24 +30,24 @@ if (MSVC)
 elseif (APPLE)
 
     add_custom_command(OUTPUT "${EDITORDATA_PAK}"
-                       COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${EDITORDATA_PAK}" -c
+                       COMMAND $<TARGET_FILE:PackageTool> "${ATOMIC_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 $<TARGET_FILE:PackageTool> "${ATOMIC_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})
 
 elseif (LINUX)
 
     add_custom_command(OUTPUT "${EDITORDATA_PAK}"
-                       COMMAND $<TARGET_FILE:PackageTool> "${CMAKE_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${EDITORDATA_PAK}" -c
+                       COMMAND $<TARGET_FILE:PackageTool> "${ATOMIC_SOURCE_DIR}/Data/AtomicEditor/Resources/EditorData" "${EDITORDATA_PAK}" -c
                        COMMAND rsync -u "${EDITORDATA_PAK}" "$<TARGET_FILE_DIR:AtomicEditor>/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 $<TARGET_FILE:PackageTool> "${ATOMIC_SOURCE_DIR}/Data/AtomicPlayer/Resources/CoreData" "${COREDATA_PAK}" -c
                       COMMAND rsync -u "${COREDATA_PAK}" "$<TARGET_FILE_DIR:AtomicEditor>/CoreData.pak"
                       DEPENDS PackageTool ${COREDATA_FILES})