Added branch management functions into cmake
This commit is contained in:
parent
e1372edcf3
commit
e3235e8fda
@ -1,12 +1,16 @@
|
|||||||
cmake_minimum_required(VERSION 2.8.12)
|
cmake_minimum_required(VERSION 2.8.12)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/sc-components/cmake)
|
||||||
|
|
||||||
|
include(cmake/GitFunctions.cmake)
|
||||||
|
get_branch_from_git()
|
||||||
|
|
||||||
### set the directory names of the submodules
|
### set the directory names of the submodules
|
||||||
|
set(GIT_SUBMODULES sc-components)
|
||||||
set(GIT_SUBMODULE_DIR_sc-components .)
|
set(GIT_SUBMODULE_DIR_sc-components .)
|
||||||
### set each submodules's commit or tag that is to be checked out
|
### set each submodules's commit or tag that is to be checked out
|
||||||
### (leave empty if you want master)
|
### (leave empty if you want master)
|
||||||
#set(GIT_SUBMODULE_VERSION_sc-components 3af6b9836589b082c19d9131c5d0b7afa8ddd7cd)
|
#set(GIT_SUBMODULE_VERSION_sc-components 3af6b9836589b082c19d9131c5d0b7afa8ddd7cd)
|
||||||
set(GIT_SUBMODULE_BRANCH_sc-components "develop")
|
set(GIT_SUBMODULE_BRANCH_sc-components ${GIT_BRANCH})
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
include(cmake/Submodules.cmake)
|
include(cmake/Submodules.cmake)
|
||||||
|
@ -1,91 +0,0 @@
|
|||||||
SET(_SYSTEMC_HINTS
|
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SystemC\\2.2;SystemcHome]/include"
|
|
||||||
${SYSTEMC_PREFIX}/include
|
|
||||||
${SYSTEMC_PREFIX}/lib
|
|
||||||
${SYSTEMC_PREFIX}/lib-linux
|
|
||||||
${SYSTEMC_PREFIX}/lib-linux64
|
|
||||||
${SYSTEMC_PREFIX}/lib-macos
|
|
||||||
$ENV{SYSTEMC_PREFIX}/include
|
|
||||||
$ENV{SYSTEMC_PREFIX}/lib
|
|
||||||
$ENV{SYSTEMC_PREFIX}/lib-linux
|
|
||||||
$ENV{SYSTEMC_PREFIX}/lib-linux64
|
|
||||||
$ENV{SYSTEMC_PREFIX}/lib-macos
|
|
||||||
$ENV{SYSTEMC_HOME}/include
|
|
||||||
$ENV{SYSTEMC_HOME}/lib
|
|
||||||
$ENV{SYSTEMC_HOME}/lib-linux
|
|
||||||
$ENV{SYSTEMC_HOME}/lib-linux64
|
|
||||||
$ENV{SYSTEMC_HOME}/lib-macos
|
|
||||||
${CMAKE_INSTALL_PREFIX}/include
|
|
||||||
${CMAKE_INSTALL_PREFIX}/lib
|
|
||||||
${CMAKE_INSTALL_PREFIX}/lib-linux
|
|
||||||
${CMAKE_INSTALL_PREFIX}/lib-linux64
|
|
||||||
${CMAKE_INSTALL_PREFIX}/lib-macos
|
|
||||||
)
|
|
||||||
SET(_SYSTEMC_PATHS
|
|
||||||
/usr/include/systemc
|
|
||||||
/usr/lib
|
|
||||||
/usr/lib-linux
|
|
||||||
/usr/lib-linux64
|
|
||||||
/usr/lib-macos
|
|
||||||
/usr/local/include/sysc
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/local/lib-linux
|
|
||||||
/usr/local/lib-linux64
|
|
||||||
/usr/local/lib-macos
|
|
||||||
)
|
|
||||||
FIND_FILE(_SYSTEMC_HEADER_FILE
|
|
||||||
NAMES systemc
|
|
||||||
HINTS ${_SYSTEMC_HINTS}
|
|
||||||
PATHS ${_SYSTEMC_PATHS}
|
|
||||||
PATH_SUFFIXES sysc/kernel
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_FILE(_SCV_HEADER_FILE
|
|
||||||
NAMES scv.h
|
|
||||||
HINTS ${_SYSTEMC_HINTS}
|
|
||||||
PATHS ${_SYSTEMC_PATHS}
|
|
||||||
PATH_SUFFIXES sysc/kernel
|
|
||||||
)
|
|
||||||
|
|
||||||
if(NOT _SYSTEMC_HEADER_FILE STREQUAL _SYSTEMC_HEADER_FILE-NOTFOUND)
|
|
||||||
set(SystemC_FOUND TRUE)
|
|
||||||
endif(NOT _SYSTEMC_HEADER_FILE STREQUAL _SYSTEMC_HEADER_FILE-NOTFOUND)
|
|
||||||
|
|
||||||
if(NOT _SCV_HEADER_FILE STREQUAL _SCV_HEADER_FILE-NOTFOUND)
|
|
||||||
set(SCV_FOUND TRUE)
|
|
||||||
endif(NOT _SCV_HEADER_FILE STREQUAL _SCV_HEADER_FILE-NOTFOUND)
|
|
||||||
|
|
||||||
FIND_PATH(SystemC_INCLUDE_DIRS
|
|
||||||
NAMES systemc.h
|
|
||||||
HINTS ${_SYSTEMC_HINTS}
|
|
||||||
PATHS ${_SYSTEMC_PATHS}
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_PATH(SystemC_LIBRARY_DIRS
|
|
||||||
NAMES libsystemc.a
|
|
||||||
HINTS ${_SYSTEMC_HINTS}
|
|
||||||
PATHS ${_SYSTEMC_PATHS}
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_PATH(SCV_INCLUDE_DIRS
|
|
||||||
NAMES scv.h
|
|
||||||
HINTS ${_SYSTEMC_HINTS}
|
|
||||||
PATHS ${_SYSTEMC_PATHS}
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_PATH(SCV_LIBRARY_DIRS
|
|
||||||
NAMES libscv.a
|
|
||||||
HINTS ${_SYSTEMC_HINTS}
|
|
||||||
PATHS ${_SYSTEMC_PATHS}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(SystemC_FOUND)
|
|
||||||
set(SystemC_LIBRARIES systemc)
|
|
||||||
message(STATUS "SystemC header files are taken from ${SystemC_INCLUDE_DIRS}")
|
|
||||||
message(STATUS "SystemC library is taken from ${SystemC_LIBRARY_DIRS}")
|
|
||||||
if(SCV_FOUND)
|
|
||||||
set(SCV_LIBRARIES scv)
|
|
||||||
message(STATUS "SCV header files are taken from ${SCV_INCLUDE_DIRS}")
|
|
||||||
message(STATUS "SCV library is taken from ${SCV_LIBRARY_DIRS}")
|
|
||||||
endif(SCV_FOUND)
|
|
||||||
endif(SystemC_FOUND)
|
|
22
cmake/GitFunctions.cmake
Normal file
22
cmake/GitFunctions.cmake
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
if(__git_functions)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
set(__git_functions YES)
|
||||||
|
|
||||||
|
function( get_branch_from_git )
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-parse --abbrev-ref HEAD
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
|
RESULT_VARIABLE git_result
|
||||||
|
OUTPUT_VARIABLE git_branch
|
||||||
|
ERROR_VARIABLE git_error
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
ERROR_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
if( NOT git_result EQUAL 0 )
|
||||||
|
message( FATAL_ERROR "Failed to execute Git: ${git_error}" )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set( GIT_BRANCH ${git_branch} PARENT_SCOPE )
|
||||||
|
endfunction( get_branch_from_git )
|
||||||
|
|
Loading…
Reference in New Issue
Block a user