diff options
author | Volo Zyko <volo.zyko@gmail.com> | 2013-12-20 15:16:33 +0200 |
---|---|---|
committer | Volo Zyko <volo.zyko@gmail.com> | 2013-12-24 15:56:32 +0200 |
commit | c0fcd18329fb0cf477a6beac8629e75420d05de6 (patch) | |
tree | 79920babdb905dc31223ec5d5fb8bac2455cc7e0 /cmake | |
parent | cb046b74b3777846786dcee96d282efaedb4f800 (diff) |
Fixed small problems which exhibit themself when building projects with too many source files.
When there are too many source files and one builds static libraray cmake splits the whole list of files
into several invocations of library archiver. In order this to work cmake needs to know both how to create
and how to append to archive. Another related issue is that emscripten code fails when links a final
javascript code if a command line of a link command is too long (this 'too long' is very OS dependent).
Related discussion can be found in issue #1931.
Conflicts:
AUTHORS
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Platform/Emscripten.cmake | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cmake/Platform/Emscripten.cmake b/cmake/Platform/Emscripten.cmake index c30632ca..ef813eb8 100644 --- a/cmake/Platform/Emscripten.cmake +++ b/cmake/Platform/Emscripten.cmake @@ -109,6 +109,8 @@ set(CMAKE_CXX_RESPONSE_FILE_LINK_FLAG "@") # Specify the program to use when building static libraries. Force Emscripten-related command line options to clang. set(CMAKE_CXX_ARCHIVE_CREATE "${CMAKE_AR} rc <TARGET> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <OBJECTS>${CMAKE_END_TEMP_FILE}") set(CMAKE_C_ARCHIVE_CREATE "${CMAKE_AR} rc <TARGET> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <OBJECTS>${CMAKE_END_TEMP_FILE}") +set(CMAKE_CXX_ARCHIVE_APPEND "${CMAKE_AR} r <TARGET> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <OBJECTS>${CMAKE_END_TEMP_FILE}") +set(CMAKE_C_ARCHIVE_APPEND "${CMAKE_AR} r <TARGET> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <OBJECTS>${CMAKE_END_TEMP_FILE}") # Set a global EMSCRIPTEN variable that can be used in client CMakeLists.txt to detect when building using Emscripten. # There seems to be some kind of bug with CMake, so you might need to define this manually on the command line with "-DEMSCRIPTEN=1". |