From 0c48ee0c90739da26986252ab5147810351eeff3 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 11 Apr 2019 23:41:27 +0000 Subject: Creating release candidate final from release_710 branch git-svn-id: https://llvm.org/svn/llvm-project/openmp/tags/RELEASE_710@358242 91177308-0d34-0410-b5e6-96231b3b80d8 --- final/runtime/cmake/LibompExports.cmake | 99 +++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 final/runtime/cmake/LibompExports.cmake (limited to 'final/runtime/cmake/LibompExports.cmake') diff --git a/final/runtime/cmake/LibompExports.cmake b/final/runtime/cmake/LibompExports.cmake new file mode 100644 index 0000000..1893b9f --- /dev/null +++ b/final/runtime/cmake/LibompExports.cmake @@ -0,0 +1,99 @@ +# +#//===----------------------------------------------------------------------===// +#// +#// The LLVM Compiler Infrastructure +#// +#// This file is dual licensed under the MIT and the University of Illinois Open +#// Source Licenses. See LICENSE.txt for details. +#// +#//===----------------------------------------------------------------------===// +# + +# LibompExports.cmake +# Copy library and header files into the exports/ subdirectory after library build + +# Create the suffix for the export directory +# - Only add to suffix when not a default value +# - Example suffix: .deb.30.s1 +# final export directory: exports/lin_32e.deb.30.s1/lib +# - These suffixes imply the build is a Debug, OpenMP 3.0, Stats-Gathering version of the library +set(libomp_suffix) +libomp_append(libomp_suffix .deb DEBUG_BUILD) +libomp_append(libomp_suffix .dia RELWITHDEBINFO_BUILD) +libomp_append(libomp_suffix .min MINSIZEREL_BUILD) +if(NOT "${LIBOMP_OMP_VERSION}" STREQUAL "45") + libomp_append(libomp_suffix .${LIBOMP_OMP_VERSION}) +endif() +libomp_append(libomp_suffix .s1 LIBOMP_STATS) +libomp_append(libomp_suffix .ompt LIBOMP_OMPT_SUPPORT) +if(${LIBOMP_OMPT_SUPPORT}) + libomp_append(libomp_suffix .optional LIBOMP_OMPT_OPTIONAL) +endif() +string(REPLACE ";" "" libomp_suffix "${libomp_suffix}") + +# Set exports locations +if(${MIC}) + set(libomp_platform "${LIBOMP_PERL_SCRIPT_OS}_${LIBOMP_MIC_ARCH}") # e.g., lin_knf, lin_knc +else() + if(${IA32}) + set(libomp_platform "${LIBOMP_PERL_SCRIPT_OS}_32") + elseif(${INTEL64}) + set(libomp_platform "${LIBOMP_PERL_SCRIPT_OS}_32e") + else() + set(libomp_platform "${LIBOMP_PERL_SCRIPT_OS}_${LIBOMP_ARCH}") # e.g., lin_arm, lin_ppc64 + endif() +endif() +set(LIBOMP_EXPORTS_DIR "${LIBOMP_BASE_DIR}/exports") +set(LIBOMP_EXPORTS_PLATFORM_DIR "${LIBOMP_EXPORTS_DIR}/${libomp_platform}${libomp_suffix}") +set(LIBOMP_EXPORTS_CMN_DIR "${LIBOMP_EXPORTS_DIR}/common${libomp_suffix}/include") +set(LIBOMP_EXPORTS_INC_DIR "${LIBOMP_EXPORTS_PLATFORM_DIR}/include") +set(LIBOMP_EXPORTS_MOD_DIR "${LIBOMP_EXPORTS_PLATFORM_DIR}/include_compat") +set(LIBOMP_EXPORTS_LIB_DIR "${LIBOMP_EXPORTS_DIR}/${libomp_platform}${libomp_suffix}/lib") + +# Put headers in exports/ directory post build +add_custom_command(TARGET omp POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${LIBOMP_EXPORTS_CMN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy omp.h ${LIBOMP_EXPORTS_CMN_DIR} +) +if(${LIBOMP_OMPT_SUPPORT}) + add_custom_command(TARGET omp POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ompt.h ${LIBOMP_EXPORTS_CMN_DIR} + ) +endif() +if(${LIBOMP_FORTRAN_MODULES}) + add_custom_command(TARGET libomp-mod POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${LIBOMP_EXPORTS_MOD_DIR} + COMMAND ${CMAKE_COMMAND} -E copy omp_lib.mod ${LIBOMP_EXPORTS_MOD_DIR} + COMMAND ${CMAKE_COMMAND} -E copy omp_lib_kinds.mod ${LIBOMP_EXPORTS_MOD_DIR} + ) + add_custom_command(TARGET omp POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy omp_lib.h ${LIBOMP_EXPORTS_CMN_DIR} + ) +endif() + +# Copy OpenMP library into exports/ directory post build +if(WIN32) + get_target_property(LIBOMP_OUTPUT_DIRECTORY omp RUNTIME_OUTPUT_DIRECTORY) +else() + get_target_property(LIBOMP_OUTPUT_DIRECTORY omp LIBRARY_OUTPUT_DIRECTORY) +endif() +if(NOT LIBOMP_OUTPUT_DIRECTORY) + set(LIBOMP_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) +endif() +add_custom_command(TARGET omp POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${LIBOMP_EXPORTS_LIB_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${LIBOMP_OUTPUT_DIRECTORY}/${LIBOMP_LIB_FILE} ${LIBOMP_EXPORTS_LIB_DIR} +) + +# Copy Windows import library into exports/ directory post build +if(WIN32) + get_target_property(LIBOMPIMP_OUTPUT_DIRECTORY ompimp ARCHIVE_OUTPUT_DIRECTORY) + if(NOT LIBOMPIMP_OUTPUT_DIRECTORY) + set(LIBOMPIMP_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif() + add_custom_command(TARGET ompimp POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${LIBOMP_EXPORTS_LIB_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${LIBOMPIMP_OUTPUT_DIRECTORY}/${LIBOMP_IMP_LIB_FILE} ${LIBOMP_EXPORTS_LIB_DIR} + ) +endif() + -- cgit v1.2.3