This follows the convention of providing our own CMake files in the tnt folder(s) and successfully builds with the -i option (install).
40 lines
2.2 KiB
CMake
40 lines
2.2 KiB
CMake
## ======================================================================== ##
|
|
## Copyright 2009-2019 Intel Corporation ##
|
|
## ##
|
|
## Licensed under the Apache License, Version 2.0 (the "License"); ##
|
|
## you may not use this file except in compliance with the License. ##
|
|
## You may obtain a copy of the License at ##
|
|
## ##
|
|
## http://www.apache.org/licenses/LICENSE-2.0 ##
|
|
## ##
|
|
## Unless required by applicable law or agreed to in writing, software ##
|
|
## distributed under the License is distributed on an "AS IS" BASIS, ##
|
|
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ##
|
|
## See the License for the specific language governing permissions and ##
|
|
## limitations under the License. ##
|
|
## ======================================================================== ##
|
|
|
|
# Generates C++ files from the specified binary resource files
|
|
find_package(PythonInterp REQUIRED)
|
|
function(generate_cpp_resources out_sources namespace)
|
|
set(${out_sources})
|
|
foreach(in_file ${ARGN})
|
|
get_filename_component(in_file_we ${in_file} NAME_WE)
|
|
get_filename_component(in_dir ${in_file} PATH)
|
|
get_filename_component(in_path ${in_file} ABSOLUTE)
|
|
set(out_dir ${CMAKE_CURRENT_BINARY_DIR}/${in_dir})
|
|
set(out_path ${out_dir}/${in_file_we}.cpp)
|
|
list(APPEND ${out_sources} ${out_path})
|
|
add_custom_command(
|
|
OUTPUT ${out_path}
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${out_dir}
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
ARGS ${PROJECT_SOURCE_DIR}/../scripts/resource_to_cpp.py ${in_path} -o ${out_path} -n ${namespace}
|
|
DEPENDS ${in_path}
|
|
COMMENT "Generating CXX resource object ${out_path}"
|
|
VERBATIM)
|
|
endforeach()
|
|
set_source_files_properties(${${out_sources}} PROPERTIES GENERATED TRUE)
|
|
set(${out_sources} ${${out_sources}} PARENT_SCOPE)
|
|
endfunction()
|