# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-

cmake_minimum_required(VERSION 3.5)


#{{{{ User Code 01
# Place your code here
#}}}}

enable_language(CXX C ASM)
# Project name
project(tv-lite-windows)



#{{{{ User Code 02
# Place your code here

set(CMAKE_RC_COMPILER_INIT windres)
#}}}}

# This setting is useful for providing JSON file used by CodeLite for code completion
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

set(CONFIGURATION_NAME "Release")

set(CL_WORKSPACE_DIRECTORY .)
# Set default locations
set(CL_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/${CL_WORKSPACE_DIRECTORY}/cmake-build-${CONFIGURATION_NAME}/output)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CL_OUTPUT_DIRECTORY})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CL_OUTPUT_DIRECTORY})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CL_OUTPUT_DIRECTORY})

# Projects


# Top project
# Define some variables
set(PROJECT_tv-lite-windows_PATH "${CMAKE_CURRENT_LIST_DIR}")
set(WORKSPACE_PATH "${CMAKE_CURRENT_LIST_DIR}/")



#{{{{ User Code 1
# Place your code here
find_package(PkgConfig REQUIRED)

pkg_check_modules(SQLite3 REQUIRED sqlite3)
include_directories(${SQLite3_INCLUDE_DIR})

pkg_check_modules(RAPIDJSON REQUIRED RapidJSON)
include_directories(${RAPIDJSON_INCLUDE_DIR})

pkg_check_modules(CURL REQUIRED libcurl)
include_directories(${CURL_INCLUDE_DIRS})

pkg_check_modules(LIBVLC REQUIRED libvlc)
include_directories("${LIBVLC_INCLUDEDIR}")

option(PRINT_DEBUG "" OFF)

if(PRINT_DEBUG)
  add_definitions(-DPRINT_DEBUG)
endif(PRINT_DEBUG)
#}}}}

include_directories(
    .

)


# Compiler options
execute_process(COMMAND 
     sh -e wx-config --cxxflags --unicode=yes --debug=no
    OUTPUT_VARIABLE
    CL_TMP_VAR
    OUTPUT_STRIP_TRAILING_WHITESPACE)
string(STRIP ${CL_TMP_VAR} CL_VAR_1)
execute_process(COMMAND 
    sh -e wx-config --cxxflags --unicode=yes --debug=no
    OUTPUT_VARIABLE
    CL_TMP_VAR
    OUTPUT_STRIP_TRAILING_WHITESPACE)
string(STRIP ${CL_TMP_VAR} CL_VAR_2)
add_definitions(${CL_VAR_1})
add_definitions(${CL_VAR_2})
add_definitions(-O2)
add_definitions(-Wall)
add_definitions(
    -D__WX__
    -DNDEBUG
    -DWXUSINGDLL
    -D__WXMSW__
)


# Linker options
execute_process(COMMAND 
    sh -e wx-config --debug=no --libs --unicode=yes
    OUTPUT_VARIABLE
    CL_TMP_VAR
    OUTPUT_STRIP_TRAILING_WHITESPACE)
string(STRIP ${CL_TMP_VAR} CL_VAR_3)
set(LINK_OPTIONS ${CL_VAR_3})
set(LINK_OPTIONS ${LINK_OPTIONS} -mwindows)


if(WIN32)
    # Resource options
    set(RC_OPTIONS -IC:/msys64/mingw64/include/wx-3.2)
endif(WIN32)

# Library path
link_directories(
    .
)

# Define the CXX sources
set ( CXX_SRCS
    ${CMAKE_CURRENT_LIST_DIR}/../src/acestreamenginehandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/acestreamprotocolhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/configuration.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/database.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/channel.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/main.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/sopprotocol.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/sopprotocolhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/streamprotocolhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/subscriptiondialog.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/subscriptionlistdialog.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/busyobject.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/localdialog.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/resource.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/baseprotocolhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/vlcplayer.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/locallist.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/recordchoice.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/gui-windows.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/prefdialog.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/xtreamdlg.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/baseprotocol.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/channelinfo.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/dlprogress.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/locallistdialog.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/vlcoptdlg.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/sopthread.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/controlsframe.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/channellistctrl.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/subscription.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/estogglebutton.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/ytprotocolhandler.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/textwrapper.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/m3ufile.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/ytprotocol.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/ytthread.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/proxy.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/statusgauge.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/aceprotocol.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/channeledit.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/downloadclient.cpp
    ${CMAKE_CURRENT_LIST_DIR}/../src/vlcquestiondialog.cpp
)

set_source_files_properties(
    ${CXX_SRCS} PROPERTIES COMPILE_FLAGS 
    " -O2 -Wall")

if(WIN32)
    enable_language(RC)
    set(CMAKE_RC_COMPILE_OBJECT
        "<CMAKE_RC_COMPILER> ${RC_OPTIONS} -O coff -i <SOURCE> -o <OBJECT>")
endif(WIN32)



#{{{{ User Code 2
# Place your code here
  enable_language(RC)
  set(RC_OPTIONS -IC:/msys64/mingw64/include/wx-3.2)
  set(CMAKE_RC_COMPILE_OBJECT  "<CMAKE_RC_COMPILER> ${RC_OPTIONS} -O coff -i <SOURCE> -o <OBJECT>")
  set (RC_SRCS ${CMAKE_CURRENT_LIST_DIR}/../src/win_resources.rc)
  
message("definitions ${CL_VAR_1} ${CL_VAR_2}")
if (${SQLite3_FOUND})
    set (LINK_OPTIONS "${LINK_OPTIONS}  ${SQLite3_LDFLAGS}")
endif()

if (${CURL_FOUND})
set(LINK_OPTIONS "${LINK_OPTIONS}  ${CURL_LDFLAGS}")
endif()

set(LINK_OPTIONS "${LINK_OPTIONS} -lcomctl32  ${LIBVLC_LDFLAGS}")
message("Link options ${LINK_OPTIONS}")
#}}}}

add_executable(tv-lite-windows ${RC_SRCS} ${CXX_SRCS} ${C_SRCS} ${ASM_SRCS})
target_link_libraries(tv-lite-windows ${LINK_OPTIONS})



#{{{{ User Code 3
# Place your code here
#}}}}

