CMAKE: removed a lot of extra handling for cross-compilation
parent
5822a410f0
commit
c598dd5547
|
@ -187,7 +187,7 @@ macro(engine_add_library)
|
|||
endif()
|
||||
else()
|
||||
message(STATUS "Use the bundled lib ${_ADDLIB_LIB}")
|
||||
if (_ADDLIB_UNITY AND NOT CMAKE_CROSSCOMPILING AND NOT DISABLE_UNITY)
|
||||
if (_ADDLIB_UNITY AND NOT DISABLE_UNITY)
|
||||
set(UNITY_SRC_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_ADDLIB_LIB}_unity.cpp)
|
||||
file(WRITE ${UNITY_SRC_CPP}.in "/** autogenerated */\n")
|
||||
set(UNITY_SRC_C ${CMAKE_CURRENT_BINARY_DIR}/${_ADDLIB_LIB}_unity.c)
|
||||
|
|
|
@ -38,28 +38,14 @@ macro(generate_compute_shaders TARGET)
|
|||
convert_to_camel_case(${_file} _f)
|
||||
set(_shaderfile "${_f}Shader.h")
|
||||
set(_shader "${GEN_DIR}${_shaderfile}")
|
||||
# TODO We have to add the shader/ dirs of all dependencies to the include path
|
||||
if (CMAKE_CROSS_COMPILING)
|
||||
message(STATUS "Looking for native tool in ${NATIVE_BUILD_DIR}")
|
||||
find_program(COMPUTESHADERTOOL_EXECUTABLE NAMES vengi-computeshadertool PATHS ${NATIVE_BUILD_DIR}/computeshadertool)
|
||||
add_custom_command(
|
||||
OUTPUT ${_shader}.in
|
||||
IMPLICIT_DEPENDS C ${_shaders}
|
||||
COMMENT "Validate ${_file} and generate ${_shaderfile}"
|
||||
COMMAND ${COMPUTESHADERTOOL_EXECUTABLE} --shader ${_dir}/${_file} -I ${_dir} ${SHADERTOOL_INCLUDE_DIRS_PARAM} --postfix .in --shadertemplate ${_template} --sourcedir ${GEN_DIR}
|
||||
DEPENDS ${_shaders} ${_template}
|
||||
VERBATIM
|
||||
)
|
||||
else()
|
||||
add_custom_command(
|
||||
OUTPUT ${_shader}.in
|
||||
IMPLICIT_DEPENDS C ${_shaders}
|
||||
COMMENT "Validate ${_file} and generate ${_shaderfile}"
|
||||
COMMAND computeshadertool --shader ${_dir}/${_file} -I ${_dir} ${SHADERTOOL_INCLUDE_DIRS_PARAM} --postfix .in --shadertemplate ${_template} --sourcedir ${GEN_DIR}
|
||||
DEPENDS computeshadertool ${_shaders} ${_template}
|
||||
VERBATIM
|
||||
)
|
||||
endif()
|
||||
add_custom_command(
|
||||
OUTPUT ${_shader}.in
|
||||
IMPLICIT_DEPENDS C ${_shaders}
|
||||
COMMENT "Validate ${_file} and generate ${_shaderfile}"
|
||||
COMMAND computeshadertool --shader ${_dir}/${_file} -I ${_dir} ${SHADERTOOL_INCLUDE_DIRS_PARAM} --postfix .in --shadertemplate ${_template} --sourcedir ${GEN_DIR}
|
||||
DEPENDS computeshadertool ${_shaders} ${_template}
|
||||
VERBATIM
|
||||
)
|
||||
list(APPEND _headers ${_shader})
|
||||
add_custom_command(
|
||||
OUTPUT ${_shader}
|
||||
|
|
|
@ -20,7 +20,7 @@ macro(generate_unity_sources)
|
|||
set(SRCS ${_UNITY_SRCS})
|
||||
|
||||
get_property(TARGET_NOUNITY GLOBAL PROPERTY ${TARGET}_NOUNITY)
|
||||
if (TARGET_NOUNITY OR CMAKE_CROSSCOMPILING OR DISABLE_UNITY)
|
||||
if (TARGET_NOUNITY OR DISABLE_UNITY)
|
||||
if (_UNITY_SOURCES)
|
||||
target_sources(${TARGET} PRIVATE ${SRCS})
|
||||
elseif (_UNITY_EXECUTABLE)
|
||||
|
|
|
@ -22,7 +22,7 @@ endfunction()
|
|||
# time.
|
||||
#
|
||||
function(engine_add_executable)
|
||||
set(_OPTIONS_ARGS WINDOWED NOINSTALL NATIVE)
|
||||
set(_OPTIONS_ARGS WINDOWED NOINSTALL)
|
||||
set(_ONE_VALUE_ARGS TARGET)
|
||||
set(_MULTI_VALUE_ARGS SRCS LUA_SRCS FILES)
|
||||
|
||||
|
@ -76,9 +76,6 @@ function(engine_add_executable)
|
|||
set(INSTALL_DATA_DIR "${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}-${_EXE_TARGET}")
|
||||
set(INSTALL_ICON_DIR "${CMAKE_INSTALL_DATADIR}/icons")
|
||||
set(INSTALL_APPLICATION_DIR "${CMAKE_INSTALL_DATADIR}/applications")
|
||||
if (${_EXE_NATIVE})
|
||||
message(STATUS "Build native ${_EXE_TARGET}")
|
||||
endif()
|
||||
|
||||
if (_EXE_NOINSTALL)
|
||||
set(INSTALL_DATA False)
|
||||
|
@ -202,9 +199,7 @@ endfunction()
|
|||
|
||||
#
|
||||
# Use this function to add binaries that are needed to build the project. E.g.
|
||||
# generating code. This is handled a little bit different than the usual engine_add_module
|
||||
# in a way that it takes care of cross compiling. In a cross compiling environment
|
||||
# you still get the native running code generator.
|
||||
# generating code.
|
||||
#
|
||||
function(engine_add_build_executable)
|
||||
set(_OPTIONS_ARGS WINDOWED NOINSTALL)
|
||||
|
@ -213,25 +208,8 @@ function(engine_add_build_executable)
|
|||
|
||||
cmake_parse_arguments(_EXE "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} )
|
||||
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
set(NATIVE_BINARY "${NATIVE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${_EXE_TARGET}")
|
||||
add_custom_target("build-native-${_EXE_TARGET}"
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
--build "${NATIVE_BUILD_DIR}"
|
||||
--target "${_EXE_TARGET}"
|
||||
DEPENDS ${NATIVE_BUILD_TARGET}
|
||||
BYPRODUCTS ${NATIVE_BINARY}
|
||||
WORKING_DIRECTORY ${NATIVE_BUILD_DIR}
|
||||
VERBATIM USES_TERMINAL
|
||||
)
|
||||
|
||||
add_executable(${_EXE_TARGET} IMPORTED)
|
||||
add_dependencies(${_EXE_TARGET} "build-native-${_EXE_TARGET}")
|
||||
set_property(TARGET ${_EXE_TARGET} PROPERTY IMPORTED_LOCATION ${NATIVE_BINARY})
|
||||
else()
|
||||
engine_add_executable("${ARGN};NATIVE")
|
||||
set_property(TARGET ${_EXE_TARGET} PROPERTY INTERPROCEDURAL_OPTIMIZATION False)
|
||||
endif()
|
||||
engine_add_executable("${ARGN}")
|
||||
set_property(TARGET ${_EXE_TARGET} PROPERTY INTERPROCEDURAL_OPTIMIZATION False)
|
||||
endfunction()
|
||||
|
||||
#
|
||||
|
|
|
@ -12,7 +12,6 @@ set(SRCS
|
|||
ComputeShaderTool.h ComputeShaderTool.cpp
|
||||
)
|
||||
engine_add_build_executable(TARGET ${PROJECT_NAME} SRCS ${SRCS} NOINSTALL)
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
engine_target_link_libraries(TARGET ${PROJECT_NAME} DEPENDENCIES compute simplecpp)
|
||||
|
||||
set(TEST_SRCS
|
||||
|
@ -27,4 +26,3 @@ gtest_suite_end(tests-${PROJECT_NAME})
|
|||
|
||||
gtest_suite_sources(tests ${TEST_SRCS})
|
||||
gtest_suite_deps(tests compute simplecpp)
|
||||
endif(NOT CMAKE_CROSSCOMPILING)
|
||||
|
|
|
@ -9,6 +9,4 @@ set(SRCS
|
|||
../../modules/persistence/FieldType.cpp
|
||||
)
|
||||
engine_add_build_executable(TARGET ${PROJECT_NAME} SRCS ${SRCS} NOINSTALL)
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
engine_target_link_libraries(TARGET ${PROJECT_NAME} DEPENDENCIES core)
|
||||
endif(NOT CMAKE_CROSSCOMPILING)
|
||||
|
|
|
@ -16,7 +16,6 @@ if (MSVC)
|
|||
set_property(GLOBAL PROPERTY ${PROJECT_NAME}_NOUNITY TRUE)
|
||||
endif()
|
||||
engine_add_build_executable(TARGET ${PROJECT_NAME} SRCS ${SRCS} NOINSTALL)
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
add_dependencies(${PROJECT_NAME} glslangValidator)
|
||||
engine_target_link_libraries(TARGET ${PROJECT_NAME} DEPENDENCIES video simplecpp)
|
||||
|
||||
|
@ -32,4 +31,3 @@ gtest_suite_end(tests-${PROJECT_NAME})
|
|||
|
||||
gtest_suite_sources(tests ${TEST_SRCS})
|
||||
gtest_suite_deps(tests video simplecpp)
|
||||
endif(NOT CMAKE_CROSSCOMPILING)
|
||||
|
|
|
@ -3,6 +3,4 @@ set(SRCS
|
|||
UITool.h UITool.cpp
|
||||
)
|
||||
engine_add_build_executable(TARGET ${PROJECT_NAME} SRCS ${SRCS} NOINSTALL)
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
engine_target_link_libraries(TARGET ${PROJECT_NAME} DEPENDENCIES turbobadger)
|
||||
endif(NOT CMAKE_CROSSCOMPILING)
|
||||
engine_target_link_libraries(TARGET ${PROJECT_NAME} DEPENDENCIES turbobadger)
|
||||
|
|
Loading…
Reference in New Issue