mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 03:09:01 +08:00
Add support for c++11 snippets
This commit is contained in:
parent
3e64b1fc86
commit
91613bf2c2
@ -6,21 +6,28 @@ foreach(snippet_src ${snippets_SRCS})
|
|||||||
get_filename_component(snippet ${snippet_src} NAME_WE)
|
get_filename_component(snippet ${snippet_src} NAME_WE)
|
||||||
set(compile_snippet_target compile_${snippet})
|
set(compile_snippet_target compile_${snippet})
|
||||||
set(compile_snippet_src ${compile_snippet_target}.cpp)
|
set(compile_snippet_src ${compile_snippet_target}.cpp)
|
||||||
file(READ ${snippet_src} snippet_source_code)
|
if((NOT ${snippet_src} MATCHES "cxx11") OR EIGEN_COMPILER_SUPPORT_CXX11)
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
file(READ ${snippet_src} snippet_source_code)
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
||||||
add_executable(${compile_snippet_target}
|
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
add_executable(${compile_snippet_target}
|
||||||
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
|
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||||
target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
|
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
|
||||||
|
target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
|
||||||
|
endif()
|
||||||
|
if(${snippet_src} MATCHES "cxx11")
|
||||||
|
set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11")
|
||||||
|
endif()
|
||||||
|
add_custom_command(
|
||||||
|
TARGET ${compile_snippet_target}
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND ${compile_snippet_target}
|
||||||
|
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
||||||
|
)
|
||||||
|
add_dependencies(all_snippets ${compile_snippet_target})
|
||||||
|
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
||||||
|
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
||||||
|
else()
|
||||||
|
message("skip snippet ${snippet_src} because compiler does not support C++11")
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(
|
|
||||||
TARGET ${compile_snippet_target}
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${compile_snippet_target}
|
|
||||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
|
||||||
)
|
|
||||||
add_dependencies(all_snippets ${compile_snippet_target})
|
|
||||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
|
||||||
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
|
||||||
endforeach(snippet_src)
|
endforeach(snippet_src)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user