diff --git a/CMakeLists.txt b/CMakeLists.txt index 45c443c2..54f7d380 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,8 +4,9 @@ project (Sapphire) set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin) +set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) +set(EXECUTABLE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) set(PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) diff --git a/bin/config/settings_zone.xml b/bin/config/settings_zone.xml index 9446787f..4cbb49ad 100644 --- a/bin/config/settings_zone.xml +++ b/bin/config/settings_zone.xml @@ -10,13 +10,11 @@ ./compiledscripts/ - - ./cache/ - + 1 ../cmake-build-debug/ - nmake %1% + make %1% diff --git a/scripts/native/CMakeLists.txt b/scripts/native/CMakeLists.txt index c20848ea..334c9f01 100644 --- a/scripts/native/CMakeLists.txt +++ b/scripts/native/CMakeLists.txt @@ -11,33 +11,37 @@ if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Yc${CMAKE_CURRENT_SOURCE_DIR}/ScriptObject.h /FI${CMAKE_CURRENT_SOURCE_DIR}/ScriptObject.h") endif() +message( "exec: ${EXECUTABLE_OUTPUT_DIRECTORY}" ) + +set( SCRIPT_LIB_DIR "${EXECUTABLE_OUTPUT_DIRECTORY}/compiledscripts/" ) +set( EXECUTABLE_OUTPUT_PATH "${SCRIPT_LIB_DIR}") +set( LIBRARY_OUTPUT_PATH "${SCRIPT_LIB_DIR}") +set( RUNTIME_OUTPUT_DIRECTORY "${SCRIPT_LIB_DIR}") + foreach(_sourcefile ${SCRIPT_FILES}) get_filename_component(_file "${_sourcefile}" NAME_WE) add_library("${_file}" MODULE "${_sourcefile}" "${SCRIPT_INCLUDE_FILES}") - target_link_libraries("${_file}" server_zone) - if(MSVC) set_source_files_properties("${_file}" PROPERTIES COMPILE_FLAGS "/Yc${CMAKE_CURRENT_SOURCE_DIR}/ScriptObject.h" ) + set_target_properties(${_file} PROPERTIES + CXX_STANDARD 14 + CXX_STANDARD_REQUIRED ON + CXX_EXTENSIONS ON + 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() - set_target_properties("${_file}" PROPERTIES - CXX_STANDARD 14 - CXX_STANDARD_REQUIRED ON - CXX_EXTENSIONS ON - LIBRARY_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/" - LIBRARY_OUTPUT_DIRECTORY_DEBUG "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/" - LIBRARY_OUTPUT_DIRECTORY_RELEASE "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/" - LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/" - LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/" - ARCHIVE_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/" - ) + target_link_libraries("${_file}" server_zone) add_custom_command(TARGET "${_file}" POST_BUILD - COMMAND ${CMAKE_COMMAND} -E remove "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/${_file}.exp" - COMMAND ${CMAKE_COMMAND} -E remove "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/${_file}.lib" - COMMAND ${CMAKE_COMMAND} -E remove "${EXECUTABLE_OUTPUT_PATH}/compiledscripts/${_file}.ilk" + COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/${_file}.exp" + COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/${_file}.lib" + COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/${_file}.ilk" ) endforeach(_sourcefile ${SCRIPT_FILES}) \ No newline at end of file