# Minimum CMake version
cmake_minimum_required(VERSION 3.0)
project(5_MyOwnLibs)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -O2")

# source files
set(MYLIB_STATIC_SRC mylib_static.c)
set(MYLIB_SHARED_SRC mylib_shared.c)
set(MAIN_SRC main.c)

# static library
set(MYLIB_STATIC_TARGET mylib_static)
add_library(${MYLIB_STATIC_TARGET} STATIC ${MYLIB_STATIC_SRC})

# shared library
set(MYLIB_SHARED_TARGET mylib_shared)
add_library(${MYLIB_SHARED_TARGET} SHARED ${MYLIB_SHARED_SRC})
set_target_properties(${MYLIB_SHARED_TARGET} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

# main executable
set(MAIN_EXECUTABLE myprogram)
add_executable(${MAIN_EXECUTABLE} ${MAIN_SRC})

# linking
target_link_libraries(${MAIN_EXECUTABLE} PRIVATE ${MYLIB_STATIC_TARGET} ${MYLIB_SHARED_TARGET})