| 3 |
|
|
| 4 |
project(teraterm_all) |
project(teraterm_all) |
| 5 |
|
|
|
option(SETUP_RELEASE "build setup.exe for release" OFF) |
|
| 6 |
option(ENABLE_TTXSAMPLES "TTXSamples" ON) |
option(ENABLE_TTXSAMPLES "TTXSamples" ON) |
| 7 |
option(MORE_WARNING "stronger warning" OFF) |
option(MORE_WARNING "stronger warning" OFF) |
| 8 |
|
|
| 68 |
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -s -Wl,--gc-sections") |
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -s -Wl,--gc-sections") |
| 69 |
endif() |
endif() |
| 70 |
|
|
|
if(EXISTS "${CMAKE_SOURCE_DIR}/.git/svn") |
|
|
# git-svn |
|
|
find_package(Git) |
|
|
if(Git_FOUND) |
|
|
message("git=${GIT_EXECUTABLE}") |
|
|
execute_process( |
|
|
COMMAND ${GIT_EXECUTABLE} svn log --oneline -1 |
|
|
RESULT_VARIABLE rv |
|
|
OUTPUT_VARIABLE ov |
|
|
ERROR_QUIET) |
|
|
if(${rv}) |
|
|
message("git svn error? please check git svn") |
|
|
else() |
|
|
string(REGEX MATCH "[0-9]+" SVNVERSION "${ov}") |
|
|
endif() |
|
|
endif() |
|
|
elseif(EXISTS "${CMAKE_SOURCE_DIR}/.svn") |
|
|
# svn |
|
|
find_package(Subversion) |
|
|
if(SUBVERSION_FOUND) |
|
|
if("CMAKE_COMMAND=${CMAKE_COMMAND}" MATCHES "msys") |
|
|
# svn on msys |
|
|
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} MSYS_CMAKE_SOURCE_DIR) |
|
|
string(REGEX REPLACE "^([a-zA-Z]):/" "/\\1/" MSYS_CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) |
|
|
Subversion_WC_INFO(${MSYS_CMAKE_SOURCE_DIR} TT) |
|
|
else() |
|
|
Subversion_WC_INFO(${CMAKE_SOURCE_DIR} TT) |
|
|
endif() |
|
|
set(SVNVERSION "${TT_WC_REVISION}") |
|
|
endif() |
|
|
else() |
|
|
# build without svn,git? |
|
|
#set(SVNVERSION "0000") |
|
|
endif() |
|
|
message("revision=\"${SVNVERSION}\"") |
|
|
|
|
| 71 |
### tool |
### tool |
| 72 |
# perl |
# perl |
| 73 |
if (MSVC OR (MINGW AND (EXISTS "c:/windows"))) |
if (MSVC OR (MINGW AND (EXISTS "c:/windows"))) |
| 86 |
) |
) |
| 87 |
endif() |
endif() |
| 88 |
message("perl=${PERL}") |
message("perl=${PERL}") |
| 89 |
|
# svn / git-svn |
| 90 |
|
if(EXISTS "${CMAKE_SOURCE_DIR}/.git/svn") |
| 91 |
|
# git-svn |
| 92 |
|
find_package(Git) |
| 93 |
|
message("git=${GIT_EXECUTABLE}") |
| 94 |
|
elseif(EXISTS "${CMAKE_SOURCE_DIR}/.svn") |
| 95 |
|
# svn |
| 96 |
|
find_package(Subversion) |
| 97 |
|
message("svn=${Subversion_SVN_EXECUTABLE}") |
| 98 |
|
endif() |
| 99 |
|
|
| 100 |
if(NOT $ENV{USER}) |
if(NOT $ENV{USER}) |
| 101 |
set(USER $ENV{USER}) |
set(USER $ENV{USER}) |
| 111 |
endif() |
endif() |
| 112 |
|
|
| 113 |
if(NOT EXISTS "${CMAKE_BINARY_DIR}/build_config.cmake") |
if(NOT EXISTS "${CMAKE_BINARY_DIR}/build_config.cmake") |
| 114 |
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/teraterm/ttpdlg) |
| 115 |
execute_process( |
execute_process( |
| 116 |
COMMAND ${PERL} svnrev.pl --svn \"${Subversion_SVN_EXECUTABLE}\" --git \"${GIT_EXECUTABLE}\" --root ${CMAKE_SOURCE_DIR} --header ${CMAKE_CURRENT_BINARY_DIR}/../teraterm/ttpdlg/svnversion.h --cmake ${CMAKE_BINARY_DIR}/build_config.cmake |
COMMAND ${PERL} svnrev.pl --svn \"${Subversion_SVN_EXECUTABLE}\" --git \"${GIT_EXECUTABLE}\" --root ${CMAKE_SOURCE_DIR} --header ${CMAKE_BINARY_DIR}/teraterm/ttpdlg/svnversion.h --cmake ${CMAKE_BINARY_DIR}/build_config.cmake |
| 117 |
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/svnrev_perl |
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/svnrev_perl |
| 118 |
) |
) |
| 119 |
endif() |
endif() |
| 121 |
message("revision=\"${SVNVERSION}\"") |
message("revision=\"${SVNVERSION}\"") |
| 122 |
|
|
| 123 |
if(DEFINED SVNVERSION) |
if(DEFINED SVNVERSION) |
| 124 |
set(REVISION_TIME_USER "r${SVNVERSION}-${BUILD_TIME}-${USER}") |
set(REVISION_TIME_USER "r${SVNVERSION}-${DATE}_${TIME}-${USER}") |
| 125 |
else() |
else() |
| 126 |
set(REVISION_TIME_USER "unknown-${BUILD_TIME}-${USER}") |
set(REVISION_TIME_USER "unknown-${DATE}_${TIME}-${USER}") |
| 127 |
endif() |
endif() |
| 128 |
if(NOT DEFINED SNAPSHOT_DIR) |
if(NOT DEFINED SNAPSHOT_DIR) |
| 129 |
set(SNAPSHOT_DIR "snapshot-${REVISION_TIME_USER}") |
set(SNAPSHOT_DIR "snapshot-${REVISION_TIME_USER}") |
| 130 |
endif() |
endif() |
| 131 |
set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/${SNAPSHOT_DIR}") |
set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/${SNAPSHOT_DIR}") |
| 132 |
if(NOT DEFINED SETUP_EXE) |
if(NOT DEFINED SETUP_EXE) |
| 133 |
set(SETUP_EXE "teraterm-${REVISION_TIME_USER}") |
# not need ".exe" |
| 134 |
|
if(RELEASE) |
| 135 |
|
set(SETUP_EXE "teraterm-${VERSION}") |
| 136 |
|
else() |
| 137 |
|
set(SETUP_EXE "teraterm-${VERSION}-${REVISION_TIME_USER}") |
| 138 |
|
endif() |
| 139 |
endif() |
endif() |
| 140 |
if(NOT DEFINED SETUP_ZIP) |
if(NOT DEFINED SETUP_ZIP) |
| 141 |
set(SETUP_ZIP "teraterm-${REVISION_TIME_USER}.zip") |
if(RELEASE) |
| 142 |
|
set(SETUP_ZIP "teraterm-${VERSION}.zip") |
| 143 |
|
else() |
| 144 |
|
set(SETUP_ZIP "teraterm-${VERSION}-${REVISION_TIME_USER}.zip") |
| 145 |
|
endif() |
| 146 |
endif() |
endif() |
| 147 |
|
|
| 148 |
### create buildinfo.txt |
### create buildinfo.txt |
| 152 |
@ONLY) |
@ONLY) |
| 153 |
|
|
| 154 |
### subdirectories |
### subdirectories |
|
add_subdirectory(svnrev_perl) |
|
| 155 |
add_subdirectory(teraterm) |
add_subdirectory(teraterm) |
| 156 |
add_subdirectory(ttpmenu) |
add_subdirectory(ttpmenu) |
| 157 |
add_subdirectory(TTProxy) |
add_subdirectory(TTProxy) |