Changeset View
Changeset View
Standalone View
Standalone View
openmp/trunk/runtime/src/CMakeLists.txt
Show First 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | if(NOT ${LIBOMP_USE_STDCPPLIB}) | ||||
set(LIBOMP_LINKER_LANGUAGE C) | set(LIBOMP_LINKER_LANGUAGE C) | ||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) | ||||
else() | else() | ||||
set(LIBOMP_LINKER_LANGUAGE CXX) | set(LIBOMP_LINKER_LANGUAGE CXX) | ||||
endif() | endif() | ||||
# Add the OpenMP library | # Add the OpenMP library | ||||
libomp_get_ldflags(LIBOMP_CONFIGURED_LDFLAGS) | libomp_get_ldflags(LIBOMP_CONFIGURED_LDFLAGS) | ||||
add_library(omp SHARED ${LIBOMP_SOURCE_FILES}) | |||||
add_library(omp ${LIBOMP_LIBRARY_KIND} ${LIBOMP_SOURCE_FILES}) | |||||
set_target_properties(omp PROPERTIES | set_target_properties(omp PROPERTIES | ||||
PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}" | PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}" | ||||
LINK_FLAGS "${LIBOMP_CONFIGURED_LDFLAGS}" | LINK_FLAGS "${LIBOMP_CONFIGURED_LDFLAGS}" | ||||
LINKER_LANGUAGE ${LIBOMP_LINKER_LANGUAGE} | LINKER_LANGUAGE ${LIBOMP_LINKER_LANGUAGE} | ||||
) | ) | ||||
# Get the library's location within the build tree for the unit tester | # Get the library's location within the build tree for the unit tester | ||||
get_target_property(LIBOMP_LIBRARY_DIR omp LIBRARY_OUTPUT_DIRECTORY) | get_target_property(LIBOMP_LIBRARY_DIR omp LIBRARY_OUTPUT_DIRECTORY) | ||||
if(NOT LIBOMP_LIBRARY_DIR) | if(NOT LIBOMP_LIBRARY_DIR) | ||||
set(LIBOMP_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) | set(LIBOMP_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) | ||||
set(LIBOMP_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) | set(LIBOMP_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) | ||||
else() | else() | ||||
set(LIBOMP_LIBRARY_DIR ${LIBOMP_LIBRARY_DIR} PARENT_SCOPE) | set(LIBOMP_LIBRARY_DIR ${LIBOMP_LIBRARY_DIR} PARENT_SCOPE) | ||||
endif() | endif() | ||||
# Add symbolic links to libomp | # Add symbolic links to libomp | ||||
if(NOT WIN32) | if(NOT WIN32) | ||||
add_custom_command(TARGET omp POST_BUILD | add_custom_command(TARGET omp POST_BUILD | ||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} | COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} | ||||
libgomp${CMAKE_SHARED_LIBRARY_SUFFIX} | libgomp${LIBOMP_LIBRARY_SUFFIX} | ||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} | COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} | ||||
libiomp5${CMAKE_SHARED_LIBRARY_SUFFIX} | libiomp5${LIBOMP_LIBRARY_SUFFIX} | ||||
WORKING_DIRECTORY ${LIBOMP_LIBRARY_DIR} | WORKING_DIRECTORY ${LIBOMP_LIBRARY_DIR} | ||||
) | ) | ||||
endif() | endif() | ||||
# Linking command will include libraries in LIBOMP_CONFIGURED_LIBFLAGS | # Linking command will include libraries in LIBOMP_CONFIGURED_LIBFLAGS | ||||
libomp_get_libflags(LIBOMP_CONFIGURED_LIBFLAGS) | libomp_get_libflags(LIBOMP_CONFIGURED_LIBFLAGS) | ||||
target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS}) | target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS}) | ||||
▲ Show 20 Lines • Show All 110 Lines • ▼ Show 20 Lines | |||||
endif() | endif() | ||||
if(WIN32) | if(WIN32) | ||||
install(TARGETS omp RUNTIME DESTINATION bin) | install(TARGETS omp RUNTIME DESTINATION bin) | ||||
install(TARGETS ompimp ARCHIVE DESTINATION lib${LIBOMP_LIBDIR_SUFFIX}) | install(TARGETS ompimp ARCHIVE DESTINATION lib${LIBOMP_LIBDIR_SUFFIX}) | ||||
# Create aliases (regular copies) of the library for backwards compatibility | # Create aliases (regular copies) of the library for backwards compatibility | ||||
set(LIBOMP_ALIASES "libiomp5md") | set(LIBOMP_ALIASES "libiomp5md") | ||||
foreach(alias IN LISTS LIBOMP_ALIASES) | foreach(alias IN LISTS LIBOMP_ALIASES) | ||||
install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_LIB_FILE}\" | install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_LIB_FILE}\" | ||||
\"${alias}${CMAKE_SHARED_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \${CMAKE_INSTALL_PREFIX}/bin)") | \"${alias}${LIBOMP_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \${CMAKE_INSTALL_PREFIX}/bin)") | ||||
install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_IMP_LIB_FILE}\" | install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_IMP_LIB_FILE}\" | ||||
\"${alias}${CMAKE_STATIC_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \${CMAKE_INSTALL_PREFIX}/lib${LIBOMP_LIBDIR_SUFFIX})") | \"${alias}${LIBOMP_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \${CMAKE_INSTALL_PREFIX}/lib${LIBOMP_LIBDIR_SUFFIX})") | ||||
endforeach() | endforeach() | ||||
else() | else() | ||||
install(TARGETS omp LIBRARY DESTINATION lib${LIBOMP_LIBDIR_SUFFIX}) | |||||
install(TARGETS omp ${LIBOMP_INSTALL_KIND} DESTINATION lib${LIBOMP_LIBDIR_SUFFIX}) | |||||
# Create aliases (symlinks) of the library for backwards compatibility | # Create aliases (symlinks) of the library for backwards compatibility | ||||
set(LIBOMP_ALIASES "libgomp;libiomp5") | set(LIBOMP_ALIASES "libgomp;libiomp5") | ||||
foreach(alias IN LISTS LIBOMP_ALIASES) | foreach(alias IN LISTS LIBOMP_ALIASES) | ||||
install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink \"${LIBOMP_LIB_FILE}\" | install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink \"${LIBOMP_LIB_FILE}\" | ||||
\"${alias}${CMAKE_SHARED_LIBRARY_SUFFIX}\" WORKING_DIRECTORY | \"${alias}${LIBOMP_LIBRARY_SUFFIX}\" WORKING_DIRECTORY | ||||
\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/lib${LIBOMP_LIBDIR_SUFFIX})") | \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/lib${LIBOMP_LIBDIR_SUFFIX})") | ||||
endforeach() | endforeach() | ||||
endif() | endif() | ||||
install( | install( | ||||
FILES | FILES | ||||
${CMAKE_CURRENT_BINARY_DIR}/omp.h | ${CMAKE_CURRENT_BINARY_DIR}/omp.h | ||||
DESTINATION ${LIBOMP_HEADERS_INSTALL_PATH} | DESTINATION ${LIBOMP_HEADERS_INSTALL_PATH} | ||||
) | ) | ||||
Show All 12 Lines |