diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt --- a/openmp/runtime/src/CMakeLists.txt +++ b/openmp/runtime/src/CMakeLists.txt @@ -213,6 +213,10 @@ else() set(LIBOMP_LIBRARY_DIR ${LIBOMP_LIBRARY_DIR} PARENT_SCOPE) endif() +get_target_property(LIBOMP_ARCHIVE_DIR omp ARCHIVE_OUTPUT_DIRECTORY) +if(NOT LIBOMP_ARCHIVE_DIR) + set(LIBOMP_ARCHIVE_DIR ${CMAKE_CURRENT_BINARY_DIR}) +endif() set(LIBOMP_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) # Add symbolic links to libomp @@ -297,8 +301,8 @@ ) # while this is merely generating an import library off the one generated with the runtime dll, # kmp_global.cpp will satisfy the librarian's apparent ask to see the actual exported DATA items - set_source_files_properties(${LIBOMP_GENERATED_IMP_LIB_FILENAME} PROPERTIES GENERATED TRUE EXTERNAL_OBJECT TRUE) - add_library(${LIBOMP_IMP_LIB_TARGET} STATIC ${LIBOMP_GENERATED_IMP_LIB_FILENAME} kmp_global.cpp) + set_source_files_properties(${LIBOMP_ARCHIVE_DIR}/${LIBOMP_GENERATED_IMP_LIB_FILENAME} PROPERTIES GENERATED TRUE EXTERNAL_OBJECT TRUE) + add_library(${LIBOMP_IMP_LIB_TARGET} STATIC ${LIBOMP_ARCHIVE_DIR}/${LIBOMP_GENERATED_IMP_LIB_FILENAME} kmp_global.cpp) set_target_properties(${LIBOMP_IMP_LIB_TARGET} PROPERTIES PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_IMP_LIB_FILE}" LINKER_LANGUAGE C STATIC_LIBRARY_OPTIONS "${CMAKE_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_BINARY_DIR}/${LIBOMPIMP_GENERATED_DEF_FILE}")