cmake_minimum_required(VERSION 2.6) project("XYZ") message("Building for ${CMAKE_SYSTEM_NAME}.") set(VERSION_MAJOR "6") set(VERSION_MINOR "1") set(VERSION_PATCH "0") set(VERSION_HOTFIX "0") set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_HOTFIX}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(RUNTIME_OUTPUT_DIRECTORY $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(RUNTIME_OUTPUT_DIRECTORY_RELEASE $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(LIBRARY_OUTPUT_DIRECTORY $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(LIBRARY_OUTPUT_DIRECTORY_RELEASE $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY $ENV{XYZ_BUILD_DIR}/lib/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE $ENV{XYZ_BUILD_DIR}/lib/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(ARCHIVE_OUTPUT_DIRECTORY $ENV{XYZ_BUILD_DIR}/lib/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(ARCHIVE_OUTPUT_DIRECTORY_RELEASE $ENV{XYZ_BUILD_DIR}/lib/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) if(UNIX) set(EXECUTABLE_OUTPUT_PATH $ENV{XYZ_BUILD_DIR}/bin/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(LIBRARY_OUTPUT_PATH $ENV{XYZ_BUILD_DIR}/lib/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) set(ARCHIVE_OUTPUT_PATH $ENV{XYZ_BUILD_DIR}/lib/$ENV{OSPLAT}/$ENV{OSREL}/$ENV{ARCH}/$ENV{ISA}) endif(UNIX) string(TOLOWER $ENV{OSPLAT} OSPLAT2) string(TOUPPER ${OSPLAT2} OSPLAT3) string(REPLACE "." "" OSREL2 $ENV{OSREL}) if(UNIX) include_directories("$ENV{XYZ_BUILD_DIR}/src/include/primitives" "$ENV{XYZ_BUILD_DIR}/src/include/platform/unix" "$ENV{XYZ_BUILD_DIR}/src/include/platform/unix/${OSPLAT2}" "$ENV{XYZ_BUILD_DIR}/src/include/network" "$ENV{XYZ_BUILD_DIR}/src/include/security" "$ENV{XYZ_BUILD_DIR}/src/include/common" "$ENV{XYZ_BUILD_DIR}/src/include/commoncmd" "$ENV{XYZ_BUILD_DIR}/src/include/config" "$ENV{XYZ_BUILD_DIR}/src/include/httpc" "$ENV{XYZ_BUILD_DIR}/src/include/ehttpd" "$ENV{XYZ_BUILD_DIR}/src/include/schedtasks" "$ENV{ACXYZ_SIG_DIR}/src/include/ZzEATXYZ" "$ENV{I18N_BUILD_DIR}/src/include/common" "$ENV{I18N_BUILD_DIR}/src/include/unix") IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) ENDIF(NOT CMAKE_BUILD_TYPE) add_definitions(-DCANCEL_SAFE -D__EXTERN_C__ -D__LICENSING__ -DNO_DBLAYER -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -Dregister= -DUNIX -DV2_LICENSING -DPKGINFO_BUILD_DATE=$ENV{PKGINFO_BUILD_DATE} -DPKGINFO_VERSION=\"$ENV{PKGINFO_VERSION}\" -DPKGINFO_PSTAMP=\"$ENV{PKGINFO_PSTAMP}\") set(LINKER_LANGUAGE C) if(${CMAKE_SYSTEM_NAME} STREQUAL SunOS) add_definitions(-DFD_SETSIZE=8192 -DSOLARIS -DNO_STRERROR_R) set(VBS_CXX_FLAGS "-g -features=extensions -PIC -mt") set(VBS_C_FLAGS "-g -KPIC") set(CMAKE_EXE_LINKER_FLAGS "-norunpath -mt -KPIC") set(VBS_LINK_LIBS "posix4") list(APPEND VBS_LINK_LIBS "socket") list(APPEND VBS_LINK_LIBS "gen") list(APPEND VBS_LINK_LIBS "kstat") elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux) add_definitions(-DFD_SETSIZE=8192 -DLINUX -D${OSPLAT3}_${OSREL2}) set(VBS_CXX_FLAGS "-g -Wall -Wno-unused -Wno-long-long -Wwrite-strings -fmessage-length=0") set(VBS_C_FLAGS "-g -Wall -Wno-unused -Wno-long-long -Wwrite-strings -fmessage-length=0") set(VBS_LINK_LIBS "crypt") list(APPEND VBS_LINK_LIBS "rt") elseif(${CMAKE_SYSTEM_NAME} STREQUAL AIX) add_definitions(-DHAVE_STRUCT_SOCKADDR_SA_LEN -DAIX) set(VBS_CXX_FLAGS "-g -qstaticinline -qchars=signed -qrtti=all -qthreaded") set(VBS_C_FLAGS "-g -qthreaded") set(CMAKE_EXE_LINKER_FLAGS "-bnolibpath -bnoipath -qthreaded") set(VBS_LINK_LIBS "iconv") list(APPEND VBS_LINK_LIBS "perfstat") elseif(${CMAKE_SYSTEM_NAME} STREQUAL HP-UX) add_definitions(-DHPUX1131 -DHPUX_1131_IA -DHPUX -DHP) set(VBS_CXX_FLAGS "-g -AA +W829,612,749,495,67,2177,2111,4232,2186,2174,2128 +Z -mt") set(VBS_C_FLAGS "-g +W829,612,749,495,67,2177,2111,4232,2186,2174,2128 +Z -mt") set(CMAKE_EXE_LINKER_FLAGS "-AA -Wl,\"+b/usr/lib:\",\"+s\",-E -mt") set(VBS_LINK_LIBS "nsl_s") list(APPEND VBS_LINK_LIBS "dld") endif(${CMAKE_SYSTEM_NAME} STREQUAL SunOS) else(UNIX) if(WIN32) set(VBS_CXX_FLAGS "/Od /FAcs /TP /Zi") set(VBS_C_FLAGS "/Od /TC /Zi") set(CMAKE_EXE_LINKER_FLAGS, "/SAFESEH /IGNORE:4221 /NODEFAULTLIB:\"msvcrtd.lib\" /NODEFAULTLIB:\"libcmtd.lib\" /INCREMENTAL:NO") include_directories("$ENV{XYZ_BUILD_DIR}/src/include/primitives" "$ENV{XYZ_BUILD_DIR}/src/include/platform/windows" "$ENV{XYZ_BUILD_DIR}/src/include/network" "$ENV{XYZ_BUILD_DIR}/src/include/security" "$ENV{XYZ_BUILD_DIR}/src/include/common" "$ENV{XYZ_BUILD_DIR}/src/include/commoncmd" "$ENV{XYZ_BUILD_DIR}/src/include/config" "$ENV{XYZ_BUILD_DIR}/src/include/httpc" "$ENV{XYZ_BUILD_DIR}/src/include/ehttpd" "$ENV{XYZ_BUILD_DIR}/src/include/schedtasks" "$ENV{ACXYZ_SIG_DIR}/src/include/ZzEATXYZ" "$ENV{I18N_BUILD_DIR}/src/include/common" add_definitions(-DWIN32 -D_MBCS -DWINNT -D_MBCS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNO_DBLAYER -DNO_GUI -DPRODUCT_MAJOR_VERSION=${VERSION_MAJOR} -DPRODUCT_MINOR_VERSION=${VERSION_MINOR} -DPRODUCT_MAINTPACK_VERSION=${VERSION_PATCH} -DPRODUCT_POINTPATCH_VERSION=${VERSION_HOTFIX} -DPKGINFO_BUILD_DATE=$ENV{PKGINFO_BUILD_DATE} -DPKGINFO_VERSION=\"$ENV{PKGINFO_VERSION}\" -DPKGINFO_PSTAMP=\"$ENV{PKGINFO_PSTAMP}\") endif(WIN32) endif(UNIX) add_subdirectory(lib) add_subdirectory(cmd)