blob: c6185bf911297c9b8ec46a03e9d9e820f23285af [file] [log] [blame]
# Library subdir within installation.
# FIXME: select 32/64 based on default target triple
# NOTE: default target triple has not been set at this point,
# we remain libsubdir unchanged with arm64 linux configuration
# for now, so libgo libraries and go*begin.a are put
# under 'lib64' as well, further fix required
set(libsubdir "lib64")
# Set version number string (used by install rules)
set(libversion ${LLVM_VERSION_MAJOR})
if (NOT ${LLVM_VERSION_MINOR} EQUAL 0 AND NOT ${LLVM_VERSION_PATCH} EQUAL 0)
set(libversion "${libversion}.${LLVM_VERSION_MINOR}")
endif()
if (NOT ${LLVM_VERSION_PATCH} EQUAL 0)
set(libversion "${libversion}.${LLVM_VERSION_PATCH}")
endif()
# These are incorporated into GollvmConfig.h
set(GOLLVM_LIBVERSION "${libversion}")
set(GOLLVM_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}")
set(GOLLVM_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/${libsubdir}")
macro(add_gollvm_library name)
llvm_add_library(${name} ${ARGN})
# Configure for install.
install(TARGETS ${name}
COMPONENT ${name}
LIBRARY DESTINATION ${libsubdir}
ARCHIVE DESTINATION ${libsubdir}
RUNTIME DESTINATION bin)
# Add an install target.
add_custom_target(install-${name}
DEPENDS ${name}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_dependencies(install-gollvm install-${name})
set_target_properties(${name} PROPERTIES FOLDER "Gollvm libraries")
endmacro(add_gollvm_library)
macro(add_gollvm_executable name)
add_llvm_executable(${name} ${ARGN} )
set_target_properties(${name} PROPERTIES FOLDER "Gollvm executables")
endmacro(add_gollvm_executable)
macro(add_gollvm_tool name)
add_gollvm_executable(${name} ${ARGN})
# Configure for install.
install(TARGETS ${name}
COMPONENT ${name}
LIBRARY DESTINATION ${libsubdir}
ARCHIVE DESTINATION ${libsubdir}
RUNTIME DESTINATION bin)
# Add an install target.
add_custom_target(install-${name}
DEPENDS ${name}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_dependencies(install-gollvm install-${name})
set_target_properties(${name} PROPERTIES FOLDER "Gollvm tools")
endmacro()