29 lines
789 B
CMake
29 lines
789 B
CMake
# Don't ignore empty list elements
|
|
cmake_policy(SET CMP0007 NEW)
|
|
|
|
set(args "")
|
|
foreach(n RANGE ${CMAKE_ARGC})
|
|
if(NOT "${CMAKE_ARGV${n}}" STREQUAL "")
|
|
list(APPEND args "${CMAKE_ARGV${n}}")
|
|
endif()
|
|
endforeach()
|
|
|
|
list(FIND args "--" index)
|
|
if(index EQUAL -1)
|
|
message(FATAL_ERROR "No -- divider found in arguments list")
|
|
else()
|
|
set(temp "${args}")
|
|
math(EXPR index "${index} + 1")
|
|
list(SUBLIST temp ${index} -1 args)
|
|
endif()
|
|
|
|
list(POP_FRONT args source build os cmake ninja cores)
|
|
|
|
include(cmake/exec.cmake)
|
|
include(cmake/setCiVars.cmake)
|
|
|
|
exec(${cmake} -S ${source} -B ${build} -G Ninja -D CMAKE_MAKE_PROGRAM=${ninja}
|
|
-D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_INSTALL_PREFIX=build/prefix ${flags} ${args})
|
|
|
|
exec(${cmake} --build ${build} --config RelWithDebInfo -j ${cores})
|