|
|
@@ -30,7 +30,7 @@ endif ()
|
|
|
# Define generated source files
|
|
|
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/librevision.h
|
|
|
COMMAND ${CMAKE_COMMAND} -DFILENAME=${CMAKE_CURRENT_BINARY_DIR}/librevision.h -P CMake/Modules/GetUrho3DRevision.cmake
|
|
|
- DEPENDS ${STATIC_LIBRARY_TARGETS} rapidjson ${CMAKE_SOURCE_DIR}/CMake/Modules/GetUrho3DRevision.cmake
|
|
|
+ DEPENDS ${STATIC_LIBRARY_TARGETS} ${CMAKE_SOURCE_DIR}/CMake/Modules/GetUrho3DRevision.cmake
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
COMMENT "Generating GIT revision number (tag + last commit SHA-1)")
|
|
|
|
|
|
@@ -83,24 +83,26 @@ if (MSVC AND URHO3D_LIB_TYPE STREQUAL SHARED) # MSVC linker does not have forc
|
|
|
foreach (TARGET ${STATIC_LIBRARY_TARGETS})
|
|
|
get_target_property (SOURCES ${TARGET} SOURCES)
|
|
|
get_target_property (INT_DIR ${TARGET} LOCATION)
|
|
|
- get_filename_component (INT_DIR ${INT_DIR} PATH)
|
|
|
- if (CMAKE_GENERATOR MATCHES 2008)
|
|
|
- string (REPLACE /$(OutDir) /${TARGET}.dir/$(ConfigurationName) INT_DIR ${INT_DIR})
|
|
|
- else ()
|
|
|
- string (REPLACE /$(Configuration) /${TARGET}.dir/$(ConfigurationName) INT_DIR ${INT_DIR})
|
|
|
- endif ()
|
|
|
- foreach (SOURCE ${SOURCES})
|
|
|
- get_filename_component (NAME ${SOURCE} NAME)
|
|
|
- if (NAME MATCHES \\.c.*$|\\.mm?$|\\.S$|\\.s$)
|
|
|
- string (REGEX REPLACE \\.c.*$|\\.mm?$|\\.S$|\\.s$ "" NAME ${NAME})
|
|
|
- list (APPEND OBJ_FILES ${INT_DIR}/${NAME}.obj)
|
|
|
- elseif (NAME MATCHES \\.o.*$)
|
|
|
- list (APPEND OBJ_FILES ${SOURCE})
|
|
|
+ if (INT_DIR)
|
|
|
+ get_filename_component (INT_DIR ${INT_DIR} PATH)
|
|
|
+ if (CMAKE_GENERATOR MATCHES 2008)
|
|
|
+ string (REPLACE /$(OutDir) /${TARGET}.dir/$(ConfigurationName) INT_DIR ${INT_DIR})
|
|
|
+ else ()
|
|
|
+ string (REPLACE /$(Configuration) /${TARGET}.dir/$(ConfigurationName) INT_DIR ${INT_DIR})
|
|
|
endif ()
|
|
|
- endforeach ()
|
|
|
- source_group ("Object Files\\${TARGET}" FILES ${OBJ_FILES})
|
|
|
- list (APPEND ALL_OBJ_FILES ${OBJ_FILES})
|
|
|
- unset (OBJ_FILES)
|
|
|
+ foreach (SOURCE ${SOURCES})
|
|
|
+ get_filename_component (NAME ${SOURCE} NAME)
|
|
|
+ if (NAME MATCHES \\.c.*$|\\.mm?$|\\.S$|\\.s$)
|
|
|
+ string (REGEX REPLACE \\.c.*$|\\.mm?$|\\.S$|\\.s$ "" NAME ${NAME})
|
|
|
+ list (APPEND OBJ_FILES ${INT_DIR}/${NAME}.obj)
|
|
|
+ elseif (NAME MATCHES \\.o.*$)
|
|
|
+ list (APPEND OBJ_FILES ${SOURCE})
|
|
|
+ endif ()
|
|
|
+ endforeach ()
|
|
|
+ source_group ("Object Files\\${TARGET}" FILES ${OBJ_FILES})
|
|
|
+ list (APPEND ALL_OBJ_FILES ${OBJ_FILES})
|
|
|
+ unset (OBJ_FILES)
|
|
|
+ endif ()
|
|
|
endforeach ()
|
|
|
endif ()
|
|
|
|
|
|
@@ -165,7 +167,7 @@ if (NOT ANDROID)
|
|
|
endif ()
|
|
|
install (TARGETS ${TARGET_NAME} RUNTIME DESTINATION ${DEST_RUNTIME_DIR} LIBRARY DESTINATION ${DEST_LIBRARY_DIR} ARCHIVE DESTINATION ${DEST_LIBRARY_DIR})
|
|
|
if (NOT GIT_EXIT_CODE EQUAL 0)
|
|
|
- add_dependencies (${TARGET_NAME} ${STATIC_LIBRARY_TARGETS} rapidjson)
|
|
|
+ add_dependencies (${TARGET_NAME} ${STATIC_LIBRARY_TARGETS})
|
|
|
endif ()
|
|
|
|
|
|
# Setup dependency frameworks and libraries
|
|
|
@@ -193,13 +195,15 @@ elseif (NOT MSVC)
|
|
|
endif ()
|
|
|
foreach (TARGET ${STATIC_LIBRARY_TARGETS})
|
|
|
get_target_property (ARCHIVE ${TARGET} LOCATION)
|
|
|
- if (NOT MSVC)
|
|
|
- set_property (TARGET ${TARGET_NAME} APPEND PROPERTY LINK_LIBRARIES ${FORCE_LOAD} ${ARCHIVE}) # Only works in Apple (Xcode and Makefile) and GCC while building shared library
|
|
|
- endif ()
|
|
|
- if (XCODE OR MSVC)
|
|
|
- set_property (TARGET ${TARGET_NAME} APPEND_STRING PROPERTY STATIC_LIBRARY_FLAGS " ${ARCHIVE}") # Only works in Apple (Xcode only) and MSVC while building static library
|
|
|
- else ()
|
|
|
- list (APPEND ARCHIVES ${ARCHIVE})
|
|
|
+ if (ARCHIVE)
|
|
|
+ if (NOT MSVC)
|
|
|
+ set_property (TARGET ${TARGET_NAME} APPEND PROPERTY LINK_LIBRARIES ${FORCE_LOAD} ${ARCHIVE}) # Only works in Apple (Xcode and Makefile) and GCC while building shared library
|
|
|
+ endif ()
|
|
|
+ if (XCODE OR MSVC)
|
|
|
+ set_property (TARGET ${TARGET_NAME} APPEND_STRING PROPERTY STATIC_LIBRARY_FLAGS " ${ARCHIVE}") # Only works in Apple (Xcode only) and MSVC while building static library
|
|
|
+ else ()
|
|
|
+ list (APPEND ARCHIVES ${ARCHIVE})
|
|
|
+ endif ()
|
|
|
endif ()
|
|
|
endforeach ()
|
|
|
if (NOT XCODE AND NOT MSVC)
|