diff --git a/CMakeLists.txt b/CMakeLists.txt index b3f220a9..e2a55e40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,18 +2,6 @@ cmake_policy( SET CMP0014 NEW ) cmake_minimum_required( VERSION 3.0.2 ) project( Sapphire ) -#set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) -set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) -set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) -set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) - -if( WIN32 ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) -endif() set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} @@ -28,6 +16,7 @@ add_custom_target( copy_runtime_files ALL ###################################### # Dependencies and compiler settings # ###################################### +include( "cmake/paths.cmake" ) include( "cmake/mysql.cmake" ) include( "cmake/compiler.cmake" ) include( "cmake/cotire.cmake" ) diff --git a/cmake/paths.cmake b/cmake/paths.cmake new file mode 100644 index 00000000..6a67f344 --- /dev/null +++ b/cmake/paths.cmake @@ -0,0 +1,11 @@ +set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) + +if( WIN32 ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) +endif() diff --git a/src/scripts/CMakeLists.txt b/src/scripts/CMakeLists.txt index a6949a5c..d5843a1a 100644 --- a/src/scripts/CMakeLists.txt +++ b/src/scripts/CMakeLists.txt @@ -10,6 +10,13 @@ set(EXECUTABLE_OUTPUT_PATH "${SCRIPT_LIB_DIR}") set(LIBRARY_OUTPUT_PATH "${SCRIPT_LIB_DIR}") set(RUNTIME_OUTPUT_DIRECTORY "${SCRIPT_LIB_DIR}") +if( WIN32 ) + set( LIBRARY_OUTPUT_DIRECTORY_DEBUG "${SCRIPT_LIB_DIR}" ) + set( LIBRARY_OUTPUT_DIRECTORY_RELEASE "${SCRIPT_LIB_DIR}" ) + set( LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${SCRIPT_LIB_DIR}" ) + set( LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${SCRIPT_LIB_DIR}" ) +endif() + file(GLOB children "${CMAKE_CURRENT_SOURCE_DIR}/*" ) foreach(_scriptDir ${children}) get_filename_component(_name "${_scriptDir}" NAME_WE) @@ -34,18 +41,14 @@ foreach(_scriptDir ${children}) endif() endforeach() - add_library("script_${_name}" MODULE ${SCRIPT_BUILD_FILES} "${SCRIPT_INCLUDE_FILES}" "${_scriptDir}/ScriptLoader.cpp") + add_library( "script_${_name}" + MODULE + ${SCRIPT_BUILD_FILES} + "${SCRIPT_INCLUDE_FILES}" + "${_scriptDir}/ScriptLoader.cpp" ) + target_link_libraries( "script_${_name}" world ) - if(MSVC) - set_target_properties( "script_${_name}" PROPERTIES - LIBRARY_OUTPUT_DIRECTORY_DEBUG "${SCRIPT_LIB_DIR}" - LIBRARY_OUTPUT_DIRECTORY_RELEASE "${SCRIPT_LIB_DIR}" - LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${SCRIPT_LIB_DIR}" - LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${SCRIPT_LIB_DIR}" - ) - endif() - target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/world/") target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/scripts") target_include_directories("script_${_name}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") target_include_directories("script_${_name}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Scripts")