Skip to content

Commit

Permalink
Setup CMakeLists for install
Browse files Browse the repository at this point in the history
  • Loading branch information
soutaro committed Jun 1, 2016
1 parent de27fd2 commit f46effd
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
32 changes: 32 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ if (NOT LLVM_CXX_FLAGS)
)
endif()

if (NOT CLANG_COMPILER_LIB_PATH)
set (CLANG_COMPILER_LIB_PATH ${LLVM_ROOT}/lib/clang)
message (STATUS "Clang compiler libs are supporsed in ${CLANG_COMPILER_LIB_PATH}; you can overwrite from command line: -DCLANG_COMPILER_LIB_PATH")
endif()

# Remove unnecesary -isysroot from llvm-config --cxxflags
string(REGEX REPLACE "-isysroot +[^ ]+ " "" LLVM_CXX_FLAGS ${LLVM_CXX_FLAGS})

Expand Down Expand Up @@ -85,9 +90,36 @@ add_definitions (-D_GNU_SOURCE -DHAVE_CLANG_CONFIG_H)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}")

# Version of this software
set (NULL_VERSION 1.0.0)

# Setup RPATH for installation
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib/nullarihyon/${NULL_VERSION}")
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

# Add source code
add_subdirectory (src)
add_subdirectory (driver)

enable_testing ()
add_subdirectory (vendor/googletest)
add_subdirectory (unittest)

# Install frontend scripts
install (DIRECTORY frontend/lib frontend/bundle DESTINATION lib/nullarihyon/${NULL_VERSION}/frontend)
# Install analyzer command
install (DIRECTORY ${CLANG_COMPILER_LIB_PATH} DESTINATION lib/nullarihyon/${NULL_VERSION})

# Copy dynamic link libraries
FOREACH (lib_path ${LLVM_LIB_PATHS})
get_filename_component(lib_path ${lib_path} ABSOLUTE)
file(GLOB dylibs ${lib_path}/*.dylib)
install (FILES ${dylibs} DESTINATION lib/nullarihyon/${NULL_VERSION})
ENDFOREACH(lib_path)

# Generate nullarihyon command ruby script
set (INSTALL_LIBEXEC_PREFIX ${CMAKE_INSTALL_PREFIX}/libexec/nullarihyon/${NULL_VERSION})
set (INSTALL_LIB_PREFIX ${CMAKE_INSTALL_PREFIX}/lib/nullarihyon/${NULL_VERSION})
install(CODE "execute_process(COMMAND /usr/bin/ruby ${PROJECT_SOURCE_DIR}/frontend/bin/make_frontend.rb ${CMAKE_INSTALL_PREFIX}/bin ${INSTALL_LIBEXEC_PREFIX}/nullarihyon-core ${INSTALL_LIB_PREFIX}/clang ${INSTALL_LIB_PREFIX}/frontend)")
2 changes: 2 additions & 0 deletions driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ file(GLOB_RECURSE SOURCES *.cpp *.h)
include_directories(../src)
add_executable(nullarihyon-core ${SOURCES})
target_link_libraries(nullarihyon-core ${LLVM_LIBS} ${CLANG_LIBS} ${USER_LIBS} analyzer)

install (TARGETS nullarihyon-core DESTINATION libexec/nullarihyon/${NULL_VERSION})

0 comments on commit f46effd

Please sign in to comment.