aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorVolo Zyko <volo.zyko@gmail.com>2013-12-20 15:16:33 +0200
committerVolo Zyko <volo.zyko@gmail.com>2013-12-24 15:56:32 +0200
commitc0fcd18329fb0cf477a6beac8629e75420d05de6 (patch)
tree79920babdb905dc31223ec5d5fb8bac2455cc7e0 /cmake
parentcb046b74b3777846786dcee96d282efaedb4f800 (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.cmake2
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".