# Automaticly generated by wsjcpp@v0.2.0
cmake_minimum_required(VERSION 3.0)

project(unit-tests C CXX)
add_definitions(-DWSJCPP_APP_VERSION="ut-v0.2.0")
add_definitions(-DWSJCPP_APP_NAME="unit-tests-wsjcpp")

if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    set(MACOSX TRUE)
endif()

set(CMAKE_CXX_STANDARD 11)
set(EXECUTABLE_OUTPUT_PATH ${unit-tests_SOURCE_DIR})

set (WSJCPP_LIBRARIES "")
set (WSJCPP_INCLUDE_DIRS "")
set (WSJCPP_SOURCES "")

find_package(Threads REQUIRED)
list (APPEND WSJCPP_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})

# wsjcpp-core:v0.2.1
list (APPEND WSJCPP_INCLUDE_DIRS "../src.wsjcpp/wsjcpp_core/")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_core/wsjcpp_core.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_core/wsjcpp_core.h")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_core/wsjcpp_unit_tests.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_core/wsjcpp_unit_tests.h")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_core/wsjcpp_unit_tests_main.cpp")

# wsjcpp-yaml:v0.1.5
list (APPEND WSJCPP_INCLUDE_DIRS "../src.wsjcpp/wsjcpp_yaml/")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_yaml/wsjcpp_yaml.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_yaml/wsjcpp_yaml.h")

# wsjcpp-hashes:v0.1.0
list (APPEND WSJCPP_INCLUDE_DIRS "../src.wsjcpp/wsjcpp_hashes/")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_hashes/md5.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_hashes/md5.h")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_hashes/smallsha1.h")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_hashes/smallsha1.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_hashes/wsjcpp_hashes.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_hashes/wsjcpp_hashes.h")

# wsjcpp-safe-scripting:v0.1.0
list (APPEND WSJCPP_INCLUDE_DIRS "../src.wsjcpp/wsjcpp_safe_scripting/")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_safe_scripting/wsjcpp_safe_scripting.h")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_safe_scripting/wsjcpp_safe_scripting.cpp")

# wsjcpp-arguments:v0.2.1
list (APPEND WSJCPP_INCLUDE_DIRS "../src.wsjcpp/wsjcpp_arguments/")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_arguments/wsjcpp_arguments.cpp")
list (APPEND WSJCPP_SOURCES "../src.wsjcpp/wsjcpp_arguments/wsjcpp_arguments.h")

# wsjcpp:v0.2.0
list (APPEND WSJCPP_INCLUDE_DIRS "../src")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_distribution_file.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_distribution_file.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_safe_scripting_generate.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_safe_scripting_generate.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_author.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_author.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_resource_file.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_resource_file.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloaders.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloaders.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_base.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_base.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_gitlab.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_gitlab.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_dependence.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_manager_dependence.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_http.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_http.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_github.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_github.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_bitbucket.h")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_bitbucket.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_localfs.cpp")
list (APPEND WSJCPP_SOURCES "../src/wsjcpp_package_downloader_localfs.h")

# resources.wsjcpp
list (APPEND WSJCPP_INCLUDE_DIRS "../src-resources.wsjcpp/")
list (APPEND WSJCPP_SOURCES "../src-resources.wsjcpp/__build_simple_sh_pathd79e07.h")
list (APPEND WSJCPP_SOURCES "../src-resources.wsjcpp/__build_simple_sh_pathd79e07.cpp")

# unit-tests
list (APPEND WSJCPP_INCLUDE_DIRS "src")
list (APPEND WSJCPP_SOURCES "../unit-tests.wsjcpp/src/unit_test_normalize_unit_test_name.cpp")
list (APPEND WSJCPP_SOURCES "../unit-tests.wsjcpp/src/unit_test_generate_filename_for_unit_test.cpp")
list (APPEND WSJCPP_SOURCES "../unit-tests.wsjcpp/src/unit_test_read_package.cpp")

# required-pkg-config
############################
## CURL
FIND_PACKAGE(CURL)
IF(CURL_FOUND)
   list (APPEND WSJCPP_INCLUDE_DIRS ${CURL_INCLUDE_DIR})
   list (APPEND WSJCPP_LIBRARIES ${CURL_LIBRARIES})
ELSE(CURL_FOUND)
   MESSAGE(FATAL_ERROR "Could not find the CURL library and development files.")
ENDIF(CURL_FOUND)
############################


include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.user-custom.txt)


include_directories(${WSJCPP_INCLUDE_DIRS})

add_executable ("unit-tests" ${WSJCPP_SOURCES})

target_link_libraries("unit-tests" -lpthread ${WSJCPP_LIBRARIES} )

