cmake_minimum_required (VERSION 2.8) project (cmake-ninja-link) file (WRITE "main.cpp" "int main(int argc, char **argv) { return 0; }\n") set (FileCount 0) set (Src) while (${FileCount} LESS 1000) # LongFileName__012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 105 chars set (Fname LongFileName__012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789) set (Filename "${CMAKE_BINARY_DIR}/${Fname}_${FileCount}.cpp") file (WRITE "${Filename}" "namespace file${FileCount} { void foo() {} }\n") list (APPEND Src "${Filename}") message( "Created file ${Filename}") list (LENGTH Src FileCount) endwhile() add_executable (cmake-ninja-link main.cpp ${Src}) install (TARGETS cmake-ninja-link RUNTIME DESTINATION bin) # cmake -GNinja .. # ninja-build # Argument list too long # ninja: build stopped: subcommand failed.