CMAKE_MINIMUM_REQUIRED(VERSION 3.12...3.19)
PROJECT(testngpp)
INCLUDE(ProjectVar.txt)
IF(NOT WIN32)
FIND_LIBRARY(DL_LIBRARY NAMES dl)
IF(DL_LIBRARY)
SET(TESTNGPP_USE_DLOPEN TRUE)
ELSE(DL_LIBRARY)
SET(TESTNGPP_USE_DLOPEN FALSE)
ENDIF(DL_LIBRARY)
FIND_LIBRARY(LTDL_LIBRARY NAMES ltdl)
IF(LTDL_LIBRARY)
SET(TESTNGPP_USE_LTDL TRUE)
ELSE(LTDL_LIBRARY)
SET(TESTNGPP_USE_LTDL FALSE)
ENDIF(LTDL_LIBRARY)
ELSE(NOT WIN32)
SET(TESTNGPP_USE_DLOPEN FALSE)
SET(TESTNGPP_USE_LTDL FALSE)
ENDIF(NOT WIN32)
IF(MSVC OR MINGW)
SET(TESTNGPP_USE_LOADLIBRARY TRUE)
ELSE(MSVC OR MINGW)
SET(TESTNGPP_USE_LOADLIBRARY FALSE)
ENDIF(MSVC OR MINGW)
IF(CMAKE_CL_64)
ADD_DEFINITIONS(-DWIN64)
ENDIF(CMAKE_CL_64)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(src/utils)
ADD_SUBDIRECTORY(src/except)
ADD_SUBDIRECTORY(src/mem_checker)
ADD_SUBDIRECTORY(src/listeners)
ADD_SUBDIRECTORY(src/runner)
ADD_SUBDIRECTORY(scripts)
INSTALL(DIRECTORY include/testngpp DESTINATION include
PATTERN ".svn" EXCLUDE
PATTERN "comm" EXCLUDE
PATTERN "runner" EXCLUDE
PATTERN "win32" EXCLUDE)
INSTALL(FILES include/testngpp/runner/loaders/ModuleLoader.h
DESTINATION include/testngpp/runner/loaders)
INSTALL(DIRECTORY include/mem_checker DESTINATION include
PATTERN ".svn" EXCLUDE)
IF(USING_AS_TESTCPP)
INSTALL(DIRECTORY include/testcpp DESTINATION include
PATTERN ".svn" EXCLUDE)
ENDIF(USING_AS_TESTCPP)
IF(USING_AS_CXXTEST)
INSTALL(DIRECTORY include/cxxtest DESTINATION include
PATTERN ".svn" EXCLUDE)
ENDIF(USING_AS_CXXTEST)