Improved build system

This commit is contained in:
Maxim Biro 2013-07-17 18:06:05 -04:00
parent 817ad50d96
commit ef0efd72b5
13 changed files with 125 additions and 26 deletions

6
.gitignore vendored
View File

@ -3,3 +3,9 @@
//nacl build
nacl/build/
build
CMakeCache.txt
CMakeFiles
Makefile
cmake_install.cmake
install_manifest.txt

View File

@ -14,7 +14,9 @@ before_script:
script:
- cmake CMakeLists.txt
- make -j3
- make DHT_bootstrap -j3
- make Messenger_test -j3
- make nTox -j3
notifications:
email: false

View File

@ -1,7 +1,8 @@
cmake_minimum_required(VERSION 2.6.0)
project(TOX C)
set(exe_name toxMessengerTest)
if(WIN32)
include_directories(${CMAKE_HOME_DIRECTORY}/sodium/include/)
endif()
set(core_sources
core/DHT.c
@ -9,29 +10,29 @@ set(core_sources
core/Lossless_UDP.c
core/net_crypto.c
core/Messenger.c)
if(WIN32)
set(test_sources
testing/Messenger_test.c)
else()
set(test_sources
testing/nTox.c)
#testing/Messenger_test.c)
endif()
add_executable(${exe_name}
${core_sources}
${test_sources})
add_library(core ${core_sources})
if(WIN32)
include_directories(${TOX_SOURCE_DIR}/sodium/include/)
target_link_libraries(${exe_name} ws2_32
${CMAKE_SOURCE_DIR}/sodium/lib/libsodium.a)
else()
target_link_libraries(${exe_name} sodium)
target_link_libraries(${exe_name} ncurses)
endif()
macro(linkCoreLibraries exe_name)
if(WIN32)
target_link_libraries(${exe_name} core
${CMAKE_SOURCE_DIR}/sodium/lib/libsodium.a
ws2_32)
else()
target_link_libraries(${exe_name} core
sodium)
endif()
endmacro()
if(CMAKE_COMPILER_IS_GNUCC)
message(STATUS "==== GCC detected - Adding compiler flags ====")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
endif()
macro(addCompilerFlags)
if(NOT WIN32)
if(("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang"))
message(STATUS "==== ${CMAKE_C_COMPILER_ID} detected - Adding compiler flags ====")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
endif()
endif()
endmacro()
ADD_SUBDIRECTORY(testing)
ADD_SUBDIRECTORY(other)

1
other/CMakeLists.txt Normal file
View File

@ -0,0 +1 @@
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/DHT_bootstrap.cmake)

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(DHT_bootstrap C)
set(exe_name DHT_bootstrap)
add_executable(${exe_name}
DHT_bootstrap.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

7
testing/CMakeLists.txt Normal file
View File

@ -0,0 +1,7 @@
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/DHT_cryptosendfiletest.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/DHT_sendfiletest.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/DHT_test.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Lossless_UDP_testclient.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Lossless_UDP_testserver.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Messenger_test.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/nTox.cmake)

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(DHT_cryptosendfiletest C)
set(exe_name DHT_cryptosendfiletest)
add_executable(${exe_name}
DHT_cryptosendfiletest.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(DHT_sendfiletest C)
set(exe_name DHT_sendfiletest)
add_executable(${exe_name}
DHT_sendfiletest.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(DHT_test C)
set(exe_name DHT_test)
add_executable(${exe_name}
DHT_test.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(Lossless_UDP_testclient C)
set(exe_name Lossless_UDP_testclient)
add_executable(${exe_name}
Lossless_UDP_testclient.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(Lossless_UDP_testserver C)
set(exe_name Lossless_UDP_testserver)
add_executable(${exe_name}
Lossless_UDP_testserver.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

View File

@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 2.6.0)
project(Messenger_test C)
set(exe_name Messenger_test)
add_executable(${exe_name}
Messenger_test.c)
linkCoreLibraries(${exe_name})
addCompilerFlags()

12
testing/cmake/nTox.cmake Normal file
View File

@ -0,0 +1,12 @@
cmake_minimum_required(VERSION 2.6.0)
project(nTox C)
set(exe_name nTox)
add_executable(${exe_name}
nTox.c)
target_link_libraries(${exe_name} ncurses)
linkCoreLibraries(${exe_name})
addCompilerFlags()