rob@76: cmake_minimum_required(VERSION 2.6) rob@76: PROJECT(TestOscpack) rob@76: rob@76: INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}) rob@76: rob@76: # separate versions of NetworkingUtils.cpp and UdpSocket.cpp are provided for Win32 and POSIX rob@76: # the IpSystemTypePath selects the correct ones based on the current platform rob@76: rob@76: IF(WIN32) rob@76: set(IpSystemTypePath ip/win32) rob@76: set(LIBS ${LIBS} Ws2_32 winmm) rob@76: ELSE(WIN32) rob@76: set(IpSystemTypePath ip/posix) rob@76: ENDIF(WIN32) rob@76: rob@76: ADD_LIBRARY(oscpack rob@76: rob@76: ip/IpEndpointName.h rob@76: ip/IpEndpointName.cpp rob@76: rob@76: ip/NetworkingUtils.h rob@76: ${IpSystemTypePath}/NetworkingUtils.cpp rob@76: rob@76: ip/UdpSocket.h rob@76: ${IpSystemTypePath}/UdpSocket.cpp rob@76: rob@76: ip/PacketListener.h rob@76: ip/TimerListener.h rob@76: rob@76: osc/OscTypes.h rob@76: osc/OscTypes.cpp rob@76: osc/OscHostEndianness.h rob@76: osc/OscException.h rob@76: osc/OscPacketListener.h rob@76: osc/MessageMappingOscPacketListener.h rob@76: osc/OscReceivedElements.h rob@76: osc/OscReceivedElements.cpp rob@76: osc/OscPrintReceivedElements.h rob@76: osc/OscPrintReceivedElements.cpp rob@76: osc/OscOutboundPacketStream.h rob@76: osc/OscOutboundPacketStream.cpp rob@76: rob@76: ) rob@76: rob@76: rob@76: ADD_EXECUTABLE(OscUnitTests tests/OscUnitTests.cpp) rob@76: TARGET_LINK_LIBRARIES(OscUnitTests oscpack ${LIBS}) rob@76: rob@76: ADD_EXECUTABLE(OscSendTests tests/OscSendTests.cpp) rob@76: TARGET_LINK_LIBRARIES(OscSendTests oscpack ${LIBS}) rob@76: rob@76: ADD_EXECUTABLE(OscReceiveTest tests/OscReceiveTest.cpp) rob@76: TARGET_LINK_LIBRARIES(OscReceiveTest oscpack ${LIBS}) rob@76: rob@76: rob@76: ADD_EXECUTABLE(OscDump examples/OscDump.cpp) rob@76: TARGET_LINK_LIBRARIES(OscDump oscpack ${LIBS}) rob@76: rob@76: ADD_EXECUTABLE(SimpleReceive examples/SimpleReceive.cpp) rob@76: TARGET_LINK_LIBRARIES(SimpleReceive oscpack ${LIBS}) rob@76: rob@76: ADD_EXECUTABLE(SimpleSend examples/SimpleSend.cpp) rob@76: TARGET_LINK_LIBRARIES(SimpleSend oscpack ${LIBS}) rob@76: rob@76: rob@76: if(MSVC) rob@76: # Force to always compile with W4 rob@76: if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") rob@76: string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") rob@76: else() rob@76: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") rob@76: endif() rob@76: elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) rob@76: # Update if necessary rob@76: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-long-long -pedantic") rob@76: endif()