The project structure of my static library is exactly the same as defined in this question and my CMakeList.txt is exactly the same:
cmake_minimum_required (VERSION 2.8) 
project (project_name) 
add_subdirectory (src) 
add_subdirectory (test) 
I want to build the test folder after my static library. I have also added add_test() but only problem is my test directory doesn't contain unit tests, but actual test application like following code:
#include <iostream>
main() {
 /* 
   this code uses static library functions in it. There is not Unit Test defined in it.
*/
}
add_test() didn't helped me, and I am still getting a cannot find -ldal error. dal is my static library name, which I have added as target_link_library to my test application.
libdal/src/CMakeList.txt
cmake_minimum_required(VERSION 3.12)
project(dal)
# Flags Variables
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
# Include Directeries
include_directories(${CPP_KAFKA_INC})
include_directories(${CPP_MYSQL_INC})
include_directories(${CPP_ALTIBASE_INC})
include_directories(${AFN_STATE_INC})
include_directories(${AFN_DAL_INC})
include_directories(${AFN_COMMONS_INC})
include_directories(${AFN_CONFIG_INC})
include_directories(${SQL_ODBC_INC})
# Executable Target(s)
file(GLOB SOURCES *.cpp)
add_library(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME}
        ${AFN_LIB}
        "-lafinit_state"
        "-luuid"
        "-lz"
        "-lpthread"
        ${PQXX_LIB}
        ${PQ_LIB}
        "-lmysqlcppconn"
        ${libmscpp}
        ${kafkacpplib}
        ${rdkafkalib}
        ${rdkafkacpplib}
        afiniti_config $<$<CONFIG:DEBUG>:-lgcov>
        )
# Installation
install(CODE "MESSAGE(\"Installing ${PROJECT_NAME} \")")
install(TARGETS ${PROJECT_NAME}
        RUNTIME DESTINATION bin
        LIBRARY DESTINATION lib
        ARCHIVE DESTINATION lib)
libdal/test/CMakeList.txt
cmake_minimum_required(VERSION 3.12)
project(testdal)
# Flags Variables
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17" )
option(DAL_PUSH_TESTER      "enable DAL push tester"    ON)
# Include Directeries
include_directories(${CPP_KAFKA_INC})
include_directories(${AFN_DAL_INC})
include_directories(${CPP_MYSQL_INC})
include_directories(${AFN_STATE_INC})
include_directories(${AFN_CONFIG_INC})
add_executable(${PROJECT_NAME}  main.cpp)
target_link_libraries(${PROJECT_NAME}
        ${AFN_LIB}
        "-lmysqlcppconn"
        "-luuid"
        "-lz"
        ${libmscpp}
        "-ldal"
        ${PQXX_LIB}
        ${PQ_LIB}
        ${kafkacpplib}
        ${rdkafkalib}
        ${rdkafkacpplib}
        "-lafinit_state"
        "-luuid"
        "-lpthread"
        afiniti_config $<$<CONFIG:DEBUG>:-lgcov>
        ${AFN_LICENSE_LIB} "-laf_license_manager"
        )
    # Installation
install(CODE "MESSAGE(\"Installing ${PROJECT_NAME} \")")
install(TARGETS ${PROJECT_NAME}
        RUNTIME DESTINATION bin/tests
        LIBRARY DESTINATION lib
        ARCHIVE DESTINATION lib)
if (DAL_PUSH_TESTER)
    add_executable(dal_push_tester dal_push_tester.cpp)
    target_link_libraries(dal_push_tester
            ${AFN_LIB}
            "-lmysqlcppconn"
            "-luuid"
            "-lz"
            ${libmscpp}
            "-ldal"
            ${PQXX_LIB}
            ${PQ_LIB}
            ${kafkacpplib}
            ${rdkafkalib}
            ${rdkafkacpplib}
            "-lafinit_state"
            "-luuid"
            "-lpthread"
            afiniti_config $<$<CONFIG:DEBUG>:-lgcov>
            ${AFN_LICENSE_LIB} "-laf_license_manager"
            )
# Installation
install(CODE "MESSAGE(\"Installing dal_push_tester  \")")
install(TARGETS dal_push_tester 
        RUNTIME DESTINATION bin/tests
        LIBRARY DESTINATION lib
        ARCHIVE DESTINATION lib)
endif ()
 
    